倆臺服務器搭建redis集羣5.0.4

倆臺服務器搭建redis集羣前端

1倆服務器分別新建目錄:usr/local/redis-clusternode

2下載源碼並解壓編譯(使用redis版本5.0.4redis

3tar xzf redis-5.0.4.tar.gzvim

4cd redis-5.0.4bash

5make & make install服務器

測試編譯:發現報錯app

6cd srctcp

      make test測試

    CC Makefile.depspa

You need tcl 8.5 or newer in order to run the Redis test

make: *** [test] Error 1

問題緣由:缺乏依賴,進行安裝

7yum 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/binredis-serverredis-cliredis-benchmarkredis-check-aofredis-check-rdbredis-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(默認ip127.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...........

一直有 「.」出現,說明另外一臺服務器的端口策略沒通,一直在等那邊的節點加入集羣,那麼恭喜你,要悲劇了.....

相關文章
相關標籤/搜索