Redis哨兵集羣部署

1、概念。

      1-1、監控(Monitoring): 哨兵(sentinel) 會不斷地檢查你的Master和Slave是否運作正常。

      1-2、提醒(Notification):當被監控的某個Redis節點出現問題時, 哨兵(sentinel) 可以通過 API 向管理員或者其他應用程序發送通知。

      1-3、自動故障遷移(Automatic failover):當一個Master不能正常工作時,哨兵(sentinel) 會開始一次自動故障遷移操作,它會將失效Master的其中一個Slave升級爲新的Master, 並讓失效Master的其他Slave改爲複製新的Master;當客戶端試圖連接失效的Master時,集羣也會向客戶端返回新Master的地址,使得集羣可以使用現在的Master替換失效Master。Master和Slave服務器切換後,Master的redis.conf、Slave的redis.conf和sentinel.conf的配置文件的內容都會發生相應的改變,即,Master主服務器的redis.conf配置文件中會多一行slaveof的配置,sentinel.conf的監控目標會隨之調換。

優點:在整個redis集羣中,當Master宕機時,可以通過哨兵自動將Slave提升爲新的Master,無須手動切換。

192.168.23.130 6379 Master
 192.168.23.131 6379      Slave
192.168.23.132  26379      Sentinel

http://download.redis.io/releases/選擇下載redis-3.2.9.tar.gz,上傳到middleware文件夾(權限爲777)。

2、單機部署redis(部署三臺)

tar -xvf redis-3.2.9.tar.gz
cd redis-3.2.9
make install
make test

 3、三臺部署配置。

 Master配置redis.conf

################################## NETWORK #####################################
bind 192.168.23.130
port 6379
timeout 60
################################# GENERAL ######################################
daemonize yes
logfile "/middleware/redis.log"
################################ SNAPSHOTTING  ################################
dir /middleware/dbdata

############################## APPEND ONLY MODE ###############################
appendonly yes 
appendfsync always

 Slave配置redis.conf

################################## NETWORK #####################################
bind 192.168.23.131
port 6379
timeout 60
################################# GENERAL #####################################
daemonize yes
logfile "/middleware/redis.log"
################################ SNAPSHOTTING  ################################
dir /middleware/dbdata
################################# REPLICATION #################################
slaveof 192.168.23.130 6379 #Master ip port
slave-serve-stale-data no
############################## APPEND ONLY MODE ###############################
appendonly yes
appendfsync always

Sentinel配置sentinel.conf

*** IMPORTANT ***
port 26379
dir /middleware/redis/sentinel/
sentinel monitor mymaster 192.168.23.130 6379 1
sentinel down-after-milliseconds mymaster 5000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 60000

3、啓動redis哨兵模式集羣

 3-1、啓動master和slave,使用redis.conf配置文件來啓動。

#本章由於make install 會在bin目錄下安裝redis,沒搞明白
#而我們解壓也會有個redis,此時用的是解壓的redis
/middleware/redis-3.2.9/src/redis-server /middleware/redis-3.2.9/redis.conf

 3-2、啓動sentinel,使用sentinel.conf配置文件來啓動。

/middleware/redis-3.2.9/src/redis-sentinel /middleware/redis-3.2.9/sentinel.conf

4、腦裂問題

 zookeeper採用選舉方式解決腦裂問題,不用任何設置,而redis則不同,必須自己制定規則,防止腦裂產生多個Master的情況,具體如下。

https://blog.csdn.net/LO_YUN/article/details/97131426

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章