倆臺服務器搭建redis集羣前端
1、倆服務器分別新建目錄:usr/local/redis-clusternode
2、下載源碼並解壓編譯(使用redis版本5.0.4)redis
3、tar xzf redis-5.0.4.tar.gzvim
4、cd redis-5.0.4bash
5、make & make install服務器
測試編譯:發現報錯app
6、cd srctcp
make test測試
CC Makefile.depspa
You need tcl 8.5 or newer in order to run the Redis test
make: *** [test] Error 1
問題緣由:缺乏依賴,進行安裝
7、yum install tcl
8、再次測試編譯ok
make test
\o/ All tests passed without errors!
Cleanup: may take some time... OK
9、至此,能夠啓動redis了,默認啓動模式爲前端啓動,指令以下
cd usr/local/bin
./redis-server
10、驗證啓動是否成功
ps -ef | grep redis
11、報錯
a、運行redis-server報錯bash: redis-server: command not found
這是由於在系統的usr/local/bin目錄下沒有命令文件,這就要將usr/local/redis-cluster/redis/ redis-5.0.4/bin下redis-server、redis-cli、redis-benchmark、redis-check-aof、redis-check-rdb、redis-sentinel這些可執行文件複製到local/bin下
c、因此修改redis.conf裏的daemonize改成yes
12、前端啓動的話,若是客戶端關閉,redis服務也會停掉,只能新開一個窗口或者改爲後臺啓動redis。
具體作法分爲兩步 ->
第一步:將redis解壓文件裏面的redis.conf文件複製到當前目錄,修改redis.conf裏的daemonize改成yes
第二步:啓動
13、建立集羣目錄
倆臺服務器在redis-cluster下分別建立7001,7002,7003 // 7004,7005,7006目錄
mkdir 7001 7002 7003
mkdir 7004 7005 7006
14、首先對redis.conf下的參數進行修改
(1)、daemonize 設置yes 設置後臺運行redis
(2)、cluster-enabled 設置yes並去掉註釋 (啓動集羣模式)
(3)、cluster-node-timeout 設置5000並去掉註釋
(4)、bind 127.0.0.1(默認ip爲127.0.0.1 須要改成其餘節點機器可訪問的ip 不然建立集羣時沒法訪問對應的端口,沒法建立集羣 )
(5)、protected-mode設置 no(關閉保護模式)須要不一樣服務器的節點連通,這個就要設置爲 no
(6)、appendonly 設置yes aof日誌開啓 有須要就開啓,它會每次寫操做都記錄一條日誌
15、複製redis.conf
分別複製redis.conf文件到7001-7006目錄下
根據不一樣端口須要個性化設置的地方(能夠批量替換)
(1)、port 7001(分別對每一個機器的端口號進行設置)
(2)、設置pidfile存放在 run目錄下的文件名 pidfile /var/run/redis_7001.pid
(3)、logfile /var/log/redis/redis_7001.log
(4)、dbfilename dump_7001.rdb
(5)、appendfilename "appendonly_7001.aof"
(6)、cluster-config-file nodes-7001.conf(集羣節點信息文件) 去掉註釋
16、建立集羣
(1)、先對每臺服務器的端口進行開放
輸入命令行: uname
會出現系統的名稱
再輸入
cat /etc/redhat-release
則會出現具體系統
vim /etc/sysconfig/iptables
「I」鍵輸入命令行:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 7001 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 7002 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 7003 -j ACCEPT
....
注意BUG點:新開放的端口行必定要在端口行22的下面一行
(2)、關閉防火牆
重啓防火牆使配置生效:
[root@Neo777 ~]# /etc/init.d/iptables restart
查看開放端口
[root@Neo777 ~]# /etc/init.d/iptables status
關閉防火牆命令爲:
[root@Neo777 ~]# /etc/init.d/iptables stop
(3)、建立集羣
./redis-cli --cluster create 172.25.44.10:7001 172.25.44.10:7002 172.25.44.10:7003 172.25.44.11:7004 172.25.44.11:7005 172.25.44.11:7006 --cluster-replicas 1
留意屏幕,會有一句(type 'yes' to accept),輸入 yes ,回車,就是接受自動分配的三主三從
若是最後出現
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
說明成功了。
若是是出現
Waiting for the cluster to join...........
一直有 「.」出現,說明另外一臺服務器的端口策略沒通,一直在等那邊的節點加入集羣,那麼恭喜你,要悲劇了.....