redis集群

redis集群配置參數(shù):
cluster-enabled :yes/no。是否啟用redis集群支持,默認(rèn)作為獨(dú)立的redis實(shí)例啟動。
cluster-config-file:filename。不可編輯文件,redis用來在持久化集群配置信息以便在每次啟動都能讀取。文件中列出集群當(dāng)中所有的節(jié)點(diǎn),狀態(tài),持久化變量。由于某些消息接收,通常會將此文件重寫并刷新到磁盤上。
cluster-node-timeout:milliseconds。節(jié)點(diǎn)連接超時時間。
cluster-slave-validity-factory:factor。如果設(shè)置為0,slave總會故障轉(zhuǎn)移到master上,不管master和slave之間還有多少連接。如果設(shè)置為正數(shù),會根據(jù)超時間和該值相乘計(jì)算最長斷開時間。例如超時時間設(shè)置為5,factory設(shè)置為10,則最長斷開時間九尾50秒,超過50秒后就不會再嘗試故障轉(zhuǎn)移到該臺master。
cluster-migration-barrier:count。master可以連接的最小slave。
cluster-require-full-coverage:yes/no。默認(rèn)值為yes,如果一些key空間一直都沒被任何節(jié)點(diǎn)覆蓋的時候集群停止接受寫入請求。
最小化的redis集群配置文件如下:

port 7000
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes

測試建立一個redis 集群,共6個redis實(shí)例,3個作為master,3個作為slave。
在redis目錄下創(chuàng)建6個目錄,以端口號創(chuàng)建為目錄名稱,作為redis實(shí)例所在目錄。在redis每個redis中修改redis.conf配置文件,修改如上配置信息。使用如下命令創(chuàng)建redis集群,測試服務(wù)器的地址為192.168.152.133

./redis-trib.rb create --replicas 1 192.168.152.133:7000 192.168.152.133:7001 192.168.152.133:7002 192.168.152.133:7003 192.168.152.133:7004 192.168.152.133:7005

執(zhí)行過程中肯定會出現(xiàn)異常情況,需要安裝ruby依賴。使用源碼的方式安裝,從https://www.ruby-lang.org/en/downloads/該鏈接中下載對應(yīng)版本的安裝包,上傳到制定目錄。

//解壓文件
#tar -zxvf  ruby-2.5.3.tar.gz
#cd ruby-2.5.3 
#./configure 
#make 
#make install

默認(rèn)情況下安裝在/usr/local/lib/下,為了能夠在path中找到,徐將ruby添加到path當(dāng)中。完成后安裝gem redis依賴,安裝之前需安裝zlib-dev依賴

#yum install zlib-devel

安裝完成后進(jìn)入 /usr/bin/ruby/ruby-2.5.3/ext/zlib執(zhí)行如下命令:

#ruby ./extconf.rb
#make 
#make intall

執(zhí)行過程中如果出現(xiàn):make: *** No rule to make target /include/ruby.h', needed byzlib.o'. Stop。則按照如下方法操作:

vi  /usr/bin/ruby/ruby-2.5.3/ext/zlib/Makefile
//替換如下內(nèi)容
#zlib.o: $(top_srcdir)/include/ruby.h
zlib.o: ../../include/ruby.h

最后執(zhí)行g(shù)em install redis完成安裝。在創(chuàng)建集群的時候不能使用域名或則hostname,需使用ip地址。
集群創(chuàng)建完成后使用命令檢查節(jié)點(diǎn)狀態(tài):

./redis-trib.rb check ip:port

如果檢查結(jié)果不是OK,可以使用命令進(jìn)行修復(fù)

./redis-trib.rb fix ip:port
添加slave節(jié)點(diǎn):

1,使用add-node子命令添加一個節(jié)點(diǎn)

./redis-trib.rb add-node new_node_ip:port master_ip:port

2,連接新節(jié)點(diǎn)

./redis-trib.rb -h ip -p port

3,創(chuàng)建復(fù)制

cluster repliate master_node_id
刪除slave節(jié)點(diǎn)
./redis-trib.rb del-node ip:port "node_id"
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容