中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

Redis哨兵部署(sentinel)(實(shí)驗(yàn))-創(chuàng)新互聯(lián)

首先感謝“吧喱公路”的引導(dǎo),打開(kāi)了我對(duì)哨兵的理解思路,再次謝謝。

創(chuàng)新互聯(lián)建站成都企業(yè)網(wǎng)站建設(shè)服務(wù),提供做網(wǎng)站、成都網(wǎng)站建設(shè)網(wǎng)站開(kāi)發(fā),網(wǎng)站定制,建網(wǎng)站,網(wǎng)站搭建,網(wǎng)站設(shè)計(jì),響應(yīng)式網(wǎng)站設(shè)計(jì),網(wǎng)頁(yè)設(shè)計(jì)師打造企業(yè)風(fēng)格網(wǎng)站,提供周到的售前咨詢和貼心的售后服務(wù)。歡迎咨詢做網(wǎng)站需要多少錢(qián):028-86922220

Redis的哨兵(sentinel) ??

哨兵適用于非集群結(jié)構(gòu)的redis環(huán)境,比如:redis主從環(huán)境。

關(guān)于哨兵集群,我這里就不做實(shí)驗(yàn)了,網(wǎng)上有大量的配置方法。

哨兵集群的核心思想,就是解決哨兵的單點(diǎn)故障問(wèn)題。

個(gè)人認(rèn)為,有做哨兵集群的經(jīng)費(fèi),不如直接做個(gè)redis集群了。

環(huán)境描述:(主從從結(jié)構(gòu))

master:192.168.2.100:6379 ? ? ?#單節(jié)點(diǎn)sentinel運(yùn)行在這個(gè)環(huán)境上

slave:192.168.2.200:6379 ??

savle:192.168.2.201:6379 ? ?

redis安裝路徑:/usr/local/redis-3.0.6-6379

redis.conf關(guān)鍵配置:(這里不絮訴基本配置了,主從配置參考:https://blog.51cto.com/13690439/2118890)

master:

# vim redis.conf

requirepass "123456" ? ? ? ?//設(shè)置連接master密碼

masterauth "123456" ? ? ? //登錄master時(shí),調(diào)用該參數(shù)

slave:

# vim etc/redis.conf

slaveof 192.168.2.100 6379 ? ? ? ? ?//指定主庫(kù)IP和端口

requirepass "123456" ? ? ? ?//之所以3個(gè)redis都這樣寫(xiě),是為了故障切換后,info replication顯示slave0信息

masterauth 123456 ? ? ? ? ?//登錄master時(shí),調(diào)用該參數(shù)

哨兵關(guān)鍵配置:(sentinel.conf)

# vim sentinel.conf

port 26379 ? ? ? ?//端口

sentinel monitor mymaster 192.168.2.100 6379 1 ? ? ??

//master-name可以自定義、監(jiān)聽(tīng)I(yíng)P:port ?幾個(gè)sentinel認(rèn)為故障時(shí),才算真正的故障

sentinel down-after-milliseconds mymaster 3000

//哨兵發(fā)送PING消息,等待PONG消息的時(shí)間,超過(guò)設(shè)定時(shí)間表示故障;毫秒

sentinel failover-timeout mymaster 10000 ? ? ?

//故障轉(zhuǎn)移(failover)超時(shí)時(shí)間,超過(guò)設(shè)定時(shí)間表示故障轉(zhuǎn)移失?。缓撩?/p>

sentinel auth-pass mymaster 123456 ? ? ? ? ?//設(shè)置連接master需要的密碼

啟動(dòng)master的redis:

# redis-server redis.conf

啟動(dòng)哨兵:(新開(kāi)一個(gè)xshell)

# redis-sentinel sentinel.conf?

啟動(dòng)slave的redis:

# redis-server redis.conf

哨兵的輸出:

# Sentinel runid is e49df1197325687d9a40508c00f466a8c6e596db

//哨兵ID

# +monitor master mymaster 192.168.2.100 6379 quorum 1

//+monitor:增加了一個(gè)master監(jiān)控,后面就是master的信息

* +slave slave 192.168.2.200:6379 192.168.2.200 6379 @ mymaster 192.168.2.100 6379

//+salve:增加了一個(gè)salve監(jiān)控,后面是salve的信息

* +slave slave 192.168.2.201:6379 192.168.2.201 6379 @ mymaster 192.168.2.100 6379

//+salve:增加了一個(gè)salve監(jiān)控,后面是salve的信息

master上登錄redis:

# redis-cli -h 192.168.2.100 -p 6379 -a 123456

192.168.2.100:6379> set name zhangsan

OK

192.168.2.100:6379> set age 26

OK

192.168.2.100:6379> set home beijing

OK

192.168.2.100:6379> keys *

1) "name"

2) "home"

3) "age"

salve上登錄redis:(兩個(gè)salve登錄查看,數(shù)據(jù)同步正常)

# redis-cli -h 192.168.2.200 -p 6379 -a 123456

192.168.2.200:6379> keys *

1) "name"

2) "home"

3) "age"

停止master的redis:(注意觀察哨兵的輸出)

# ps -ef |grep redis

root ? ? ?11467 ? ? ?1 ?0 17:12 ? ? ? ? ?00:00:00 redis-server *:6379

root ? ? ?11473 ? 4650 ?0 17:12 pts/1 ? ?00:00:00 redis-sentinel *:26379 [sentinel]

root ? ? ?11513 ? 4339 ?0 17:16 pts/0 ? ?00:00:00 grep --color=auto redis

# kill 11467

哨兵的輸出:

# +sdown master mymaster 192.168.2.100 6379

//+sdown:master節(jié)點(diǎn)掛了。后面是master信息

# +odown master mymaster 192.168.2.100 6379 #quorum 1/1

# +new-epoch 14

# +try-failover master mymaster 192.168.2.100 6379

//開(kāi)始恢復(fù)故障

# +vote-for-leader e49df1197325687d9a40508c00f466a8c6e596db 14

//投票選舉節(jié)點(diǎn)的哨兵信息,因?yàn)槲覀兙鸵粋€(gè)哨兵,所以就是自己 leader

# +elected-leader master mymaster 192.168.2.100 6379

//選舉節(jié)點(diǎn)后替換誰(shuí)

# +failover-state-select-slave master mymaster 192.168.2.100 6379

//開(kāi)始為故障的master選舉

# +selected-slave slave 192.168.2.200:6379 192.168.2.200 6379 @ mymaster 192.168.2.100 6379

//節(jié)點(diǎn)選舉結(jié)果,選中192.168.2.200:6379來(lái)替換master

* +failover-state-send-slaveof-noone slave 192.168.2.200:6379 192.168.2.200 6379 @ mymaster 192.168.2.100 6379

//確認(rèn)節(jié)點(diǎn)選舉結(jié)果

* +failover-state-wait-promotion slave 192.168.2.200:6379 192.168.2.200 6379 @ mymaster 192.168.2.100 6379

//選中的節(jié)點(diǎn)正在升級(jí)為master

# +promoted-slave slave 192.168.2.200:6379 192.168.2.200 6379 @ mymaster 192.168.2.100 6379

//選中的節(jié)點(diǎn)已成功升級(jí)為master

# +failover-state-reconf-slaves master mymaster 192.168.2.100 6379

//切換故障master的狀態(tài)

* +slave-reconf-sent slave 192.168.2.201:6379 192.168.2.201 6379 @ mymaster 192.168.2.100 6379

//

* +slave-reconf-inprog slave 192.168.2.201:6379 192.168.2.201 6379 @ mymaster 192.168.2.100 6379

//其他節(jié)點(diǎn)同步故障master信息

* +slave-reconf-done slave 192.168.2.201:6379 192.168.2.201 6379 @ mymaster 192.168.2.100 6379

//其他節(jié)點(diǎn)完成故障master的同步

# +failover-end master mymaster 192.168.2.100 6379

//故障恢復(fù)完成

# +switch-master mymaster 192.168.2.100 6379 192.168.2.200 6379

//master從192.168.2.100:6379 ?變?yōu)?192.168.2.200:6379

* +slave slave 192.168.2.201:6379 192.168.2.201 6379 @ mymaster 192.168.2.200 6379

//其他節(jié)點(diǎn)指定新的master

* +slave slave 192.168.2.100:6379 192.168.2.100 6379 @ mymaster 192.168.2.200 6379

//故障master指定新的master

# +sdown slave 192.168.2.100:6379 192.168.2.100 6379 @ mymaster 192.168.2.200 6379

//192.168.2.100:6379宕機(jī),待恢復(fù)

啟動(dòng)master的redis(注意觀察哨兵的輸出)

# redis-server redis.conf

哨兵的輸出:

# -sdown slave 192.168.2.100:6379 192.168.2.100 6379 @ mymaster 192.168.2.200 6379

//故障master節(jié)點(diǎn)已經(jīng)恢復(fù)

* +convert-to-slave slave 192.168.2.100:6379 192.168.2.100 6379 @ mymaster 192.168.2.200 6379

//故障master節(jié)點(diǎn)變?yōu)閟alve,他的master為192.168.2.200:6379

現(xiàn)在我們查看主從的狀態(tài):

192.168.2.100上查看:

# redis-cli -h 192.168.2.100 -p 6379 -a 123456

192.168.2.100:6379> info replication

# Replication

role:slave

master_host:192.168.2.200

master_port:6379

master_link_status:up

192.168.2.100:6379> set ab 123

(error) READONLY You can't write against a read only slave.

192.168.2.100:6379> get name

"zhagnsan"

192.168.2.201上查看:

# redis-cli -h 192.168.2.201 -p 6379 -a 123456

192.168.2.201:6379> info replication

# Replication

role:slave

master_host:192.168.2.200

master_port:6379

master_link_status:up

192.168.2.201:6379> set ab 123

(error) READONLY You can't write against a read only slave.

192.168.2.201:6379> get name

"zhagnsan"

192.168.2.200上查看:

# redis-cli -h 192.168.2.200 -p 6379 -a 123456

192.168.2.200:6379> info replication

# Replication

role:master

connected_slaves:2

slave0:ip=192.168.2.201,port=6379,state=online,offset=24990,lag=1

slave1:ip=192.168.2.100,port=6379,state=online,offset=24990,lag=0

192.168.2.200:6379> set ab 123

OK

192.168.2.200:6379> keys *

1) "name"

2) "home"

3) "age"

4) "ab"

總結(jié):通過(guò)哨兵(sentinel)實(shí)現(xiàn)了主從從環(huán)境高可用效果。

? ? ?master在宕機(jī)后,通過(guò)哨兵自動(dòng)將其中一個(gè)salve提升為master,切換過(guò)程中,數(shù)據(jù)保存完整。

? ? ?但我們也發(fā)現(xiàn),原master不能繼續(xù)插入key了, 而客戶端連接還是會(huì)連原master,

? ? ?這時(shí),我們就需要在數(shù)據(jù)庫(kù)連接池做一些規(guī)則設(shè)置了。

? ? ?由于目前我能力有限,無(wú)法解釋連接池問(wèn)題,還請(qǐng)見(jiàn)諒。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

當(dāng)前題目:Redis哨兵部署(sentinel)(實(shí)驗(yàn))-創(chuàng)新互聯(lián)
新聞來(lái)源:http://m.rwnh.cn/article0/djooio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google企業(yè)網(wǎng)站制作、企業(yè)建站網(wǎng)站導(dǎo)航、軟件開(kāi)發(fā)響應(yīng)式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
莱西市| 都安| 武穴市| 晴隆县| 历史| 太谷县| 会理县| 平陆县| 大连市| 咸宁市| 濮阳县| 宜君县| 龙泉市| 泸定县| 夏邑县| 天津市| 阳新县| 鄂托克前旗| 金门县| 库伦旗| 迁西县| 清苑县| 临城县| 大竹县| 安岳县| 射洪县| 兴和县| 磴口县| 莱西市| 左权县| 陆丰市| 界首市| 辉县市| 三穗县| 盐边县| 扶沟县| 玉龙| 崇文区| 大邑县| 武隆县| 苍梧县|