- 安裝條件:Cluster模式至少要3主3從。生產(chǎn)環(huán)境中,建議六臺(tái),主從也進(jìn)行分離。本例中使用的是單臺(tái)虛擬機(jī)
Redis安裝
- 下載redis-3.X.tar.gz 注意,3.0以上才有集群方式的支持。
- 下載后解壓
# tar -zxvf redis-3.2.9.tar.gz -C /usr/local/ - 進(jìn)入到解壓后的redis根目錄下編譯
# cd /usr/local/redis-3.2.9 # make - 進(jìn)入到src下安裝
# cd /usr/loca/redis-3.2.9/src # make install - 每臺(tái)節(jié)點(diǎn)機(jī)器都按上面流程安裝完成。
- 單節(jié)點(diǎn)模式到此只要配置conf文件即可啟動(dòng)了,本篇主要是集群模式。下面做集群的配置
Cluster集群配置
先啟動(dòng)所有節(jié)點(diǎn),再組成集群的過程
-
創(chuàng)建redis-cluster文件夾
# mkdir -p /usr/local/redis-cluster -
在創(chuàng)建的redis-cluster文件夾下建立各節(jié)點(diǎn)文件夾。本例把端口號(hào)作為了文件名
# mkdir 7001; mkdir 7002.. mkdir 7006 有幾個(gè)創(chuàng)建幾個(gè)。本例3m3s。六個(gè) -
復(fù)制redis.conf 文件到各節(jié)點(diǎn)文件夾下
# cp /usr/local/redis-3.2.9/redis.conf /usr/local/redis-cluster/7001/ ... 六個(gè)都要 .為了改配置方便??上戎粡?fù)制一個(gè)。其他的文件只需要改端口 -
配置節(jié)點(diǎn)文件夾下的配置文件。
# vim /usr/local/redis-cluster/7001/redis.conf daemonize yes #守護(hù)線程開啟 port 7001 #端口號(hào)設(shè)置 bind 192.168.1.20 #必須要綁定本機(jī)IP dir /usr/local/redis-cluster/7001/ #數(shù)據(jù)文件存放位置。注意配置對(duì)應(yīng)的地址 cluster-enabled yes #啟動(dòng)集群模式 cluster-config-file nodes7001.conf cluster-node-timeout 5000 appendonly yes -
配置好的文件復(fù)制到7002.7003.. 各節(jié)點(diǎn)文件夾下。復(fù)制完一定要修改為本節(jié)點(diǎn)的端口號(hào) 涉及的配置:
port 700* dir /usr/local/redis-cluster/700*/ cluster-config-file nodes700*.conf 集群運(yùn)行腳本需要ruby。請(qǐng)安裝
-
分別啟動(dòng)6個(gè)redis實(shí)例,并查看是否啟動(dòng)
# /usr/local/redis-3.2.9/src/redis-server /usr/local/redis-cluster/7001/redis.conf # /usr/local/redis-3.2.9/src/redis-server /usr/local/redis-cluster/7002/redis.conf ... # ps -el | grep redis -
執(zhí)行redis-trib.rb命令。讓各節(jié)點(diǎn)組成集群關(guān)系
# cd /usr/local/redis-3.2.9/src/ # ./redis-trib.rb create --replicas 1 192.168.1.20:7001 192.168.1.20:7002 192.168.1.20:7003 192.168.1.20:7004 192.168.1.20:7005 192.168.1.20:7006友情提示: 當(dāng)出現(xiàn)集群無法構(gòu)建時(shí),刪除700*文件夾下的臨時(shí)數(shù)據(jù)文件。再次啟動(dòng)每個(gè)節(jié)點(diǎn)redis,然后再構(gòu)建。
-
搭建完成,驗(yàn)證
# /usr/local/redis-3.2.9/src/redis-cli -c -h 192.168.1.20 -p 7001 //可連接任何一個(gè)節(jié)點(diǎn)查看 # cluster info //如下圖所示。6節(jié)點(diǎn)集群搭建完成集群信息 -
3主3從在建立的時(shí)候會(huì)自動(dòng)選取
各節(jié)點(diǎn)狀態(tài) -
關(guān)閉集群需要逐個(gè)節(jié)點(diǎn)關(guān)閉
# /usr/local/redis-3.2.9/src/redis-cli -c -h 192.168.1.20 -p 700* shutdown
END

