Redis配置集羣二(window)

第一篇那redis的基礎命令都差不多講了一遍了,這篇就將怎麼配置集羣了,最後要達到的效果是一臺主redis,還有幾臺從的redis,每次數據都是同步的,當主redis掛掉了,那麼就會從幾臺從redis挑選出一臺作爲主的redis,如果之後剛開始的主redis啓動以後,又會變爲剛開始的狀態,

  因爲要做集羣,所以我複製了三分redis,一個是master,兩個是slave,端口分別是6379,6480,6381,我們還需要另外一個工具,就是管理這些集羣,並且檢測的sentinel,其實這個在2.4以後就已經集成到了redis。

  1.配置主從redis。配置主從其實很簡單,我們只要在配置文件redis.windows.conf中配置一個:

slaveof 127.0.0.1 6379//# slaveof <masterip> <masterport>

很明顯 前面是IP,後面是端口.然後我們把三個redis都啓動:
master:

[6120] 19 Dec 13:21:08.053 * The server is now ready to accept connections on po
rt 6379
[6120] 19 Dec 13:21:43.249 * Slave 127.0.0.1:6380 asks for synchronization

slave-1:

[4272] 19 Dec 13:19:57.225 * The server is now ready to accept connections on po
rt 6380
[4272] 19 Dec 13:19:58.219 * Connecting to MASTER 127.0.0.1:6379

slave-2:

[6064] 19 Dec 13:19:13.550 * The server is now ready to accept connections on po
rt 6381
[6064] 19 Dec 13:19:14.549 * Connecting to MASTER 127.0.0.1:6379

從日誌就可以看出來,主從已經配置好了,接下來就是sentinel的配置:

複製代碼
##sentinel實例之間的通訊端口
port 26379
####sentinel需要監控的master信息:<mastername> <masterIP> <masterPort> <quorum>.
####<quorum>應該小於集羣中slave的個數,只有當至少<quorum>個sentinel實例提交"master失效" 纔會認爲master爲ODWON("客觀"失效) .
sentinel monitor mymaster 139.129.7.140 6379 1
####授權密碼,在安全的環境中可以不設置
sentinel auth-pass mymaster luyx30
####master被當前sentinel實例認定爲“失效”(SDOWN)的間隔時間
sentinel down-after-milliseconds mymaster 30000
####當新master產生時,同時進行“slaveof”到新master並進行同步複製的slave個數。
##在salve執行salveof與同步時,將會終止客戶端請求。
##此值較大,意味着“集羣”終止客戶端請求的時間總和和較大。
##此值較小,意味着“集羣”在故障轉移期間,多個salve向客戶端提供服務時仍然使用舊數據。
sentinel parallel-syncs mymaster 1
####failover過期時間,當failover開始後,在此時間內仍然沒有觸發任何failover操作,當前sentinel將會認爲此次failoer失敗。
sentinel failover-timeout mymaster 900000
複製代碼

啓動sentinel:

[5340] 19 Dec 13:50:03.411 # +monitor master mymaster 127.0.0.1 6379 quorum 1
[5340] 19 Dec 13:50:04.412 * +slave slave 127.0.0.1:6380 127.0.0.1 6380 @ mymast
er 127.0.0.1 6379
[5340] 19 Dec 13:50:04.414 * +slave slave 127.0.0.1:6381 127.0.0.1 6381 @ mymast
er 127.0.0.1 6379

現在簡單的集羣已經配好啦,那麼我們來試試效果怎麼樣,首先我在master上

127.0.0.1:6379> set name hotusm
OK
127.0.0.1:6379> get name
"hotusm"

然後在slave-1上:

127.0.0.1:6380> get name
"hotusm"
127.0.0.1:6380>

主從沒問題,下面我們模擬故障,將master關閉,這是sentinel的日誌:

[5340] 19 Dec 13:59:21.377 # +switch-master mymaster 127.0.0.1 6379 127.0.0.1 63
81
[5340] 19 Dec 13:59:21.380 * +slave slave 127.0.0.1:6380 127.0.0.1 6380 @ mymast
er 127.0.0.1 6381

這樣,簡單的搭建成功啦

發佈了20 篇原創文章 · 獲贊 9 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章