Redis集群

redis集群配置:

建立6個redis服務(wù)器,配置如下:


Port分別為7000, 7001, 7002, 7003, 7004, 7005

Cluster_config_file分別為:nodes_7000.conf,nodes_7001.conf, nodes_7002.conf, nodes_7003.conf, nodes_7004.conf,nodes_7005.conf

Pidfile分別為: “/var/run/redis_7000.pid”,“/var/run/redis_7001.pid”, “/var/run/redis_7002.pid”, “/var/run/redis_7003.pid”,“/var/run/redis_7004.pid”, “/var/run/redis_7005.pid”


然后分別啟動這6個redis服務(wù)器.

再使用如下命令將6個redis實(shí)例進(jìn)行主從關(guān)聯(lián)與數(shù)據(jù)分片:

redis-trib.rb? create?--replicas? 1? IP:7000 IP:7001? IP:7002 IP:7003? IP:7004? IP:7005


//create? --replicas 1表示為每臺主服務(wù)器分配一臺從服務(wù)器.


Redis集群報錯:

Error:ERR Slot 5798 is already busy (Redis::CommandError)

Solution:用redis-cli登錄到每個節(jié)點(diǎn)執(zhí)行flushall和cluster reset


運(yùn)行redis-trib.rb 命令時報錯:

Solution:yum -y?install?ruby

ruby-devel rubygems rpm-build

gem?install?redis



效果圖:



Redis主從配置:

在未設(shè)置bind?? IPrequirepass??password兩項(xiàng)配置時,需要將protected-mode設(shè)置為no, 從而允許遠(yuǎn)程訪問.


主服務(wù)器配置:


從服務(wù)器配置:


Slaveof? IP? port?---------添加從屬服務(wù)器,參數(shù)為IP地址、端口號


主備切換配置:

Sentinel.conf:


sentinel monitor master-6379 127.0.0.1 6379 1--------哨兵監(jiān)視服務(wù)器,參數(shù)為被監(jiān)視服務(wù)器的名稱(自己設(shè)定)、IP、端口號、主備切換條件(同意切換主備的哨兵個數(shù))


sentinel failover-timeout master-6379 900000---------哨兵切換主備的條件,參數(shù)為被監(jiān)視服務(wù)器名稱、時間間隔(在被監(jiān)視服務(wù)器失去聯(lián)系900000毫秒后切換主備服務(wù)器)


down-after-milliseconds 選項(xiàng)指定了Sentinel 認(rèn)為服務(wù)器已經(jīng)斷線所需的毫秒數(shù)。


parallel-syncs 選項(xiàng)指定了在執(zhí)行故障轉(zhuǎn)移時,最多可以有多少個從服務(wù)器同時對新的主服務(wù)器進(jìn)行同步,這個數(shù)字越小,完成故障轉(zhuǎn)移所需的時間就越長。

?著作權(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)容