redis主從同步配置和哨兵機制監控master主從切換配置

搭建好redis單機後,開始研究redis集羣配置redis

兩臺VM虛擬機,都安裝了redis程序,一臺做爲master 一臺做爲slave.net

首先配置redis主從配置日誌

配置在redis.conf文件中server

主機上須要設置masterauth(光主從同步不須要配置這個,可是後續配置哨兵機制的時候須要配置這個屬性)blog

從機上須要配置slaveof 主機IP 主機端口,一樣也許配置masterauth,密碼和主機同樣進程

啓動主機,啓動從機get

在主機上set key value後同步

在從機上get key 虛擬機

能正常獲得主機設置的值it

可是要實現主從容錯自動切換,就須要配置redis哨兵,

redis-sentinel 是一個守護進程,做用有,監控,管理主從機,通知,主從切換功能

首先設置主機sentinel.conf

sentinel monitor mymaster 127.0.0.1 6379 1   

這句話的意思是監控集羣名爲mymaster的主機IP,端口,最後一個數字表示,當有幾臺哨兵監控到主機出錯後執行主從切換

sentinel auth-pass mymaster  密碼

這個密碼須要和redis.conf中的masterauth一致

sentinel down-after-milliseconds mymaster 15000  

這個配置設置的是當哨兵每秒對mymaster主機執行Ping操做時,超過15000毫秒後認爲主機宕機

sentinel failover-timeout mymaster 900000 

和當主從切換多久後認爲主從切換失敗

sentinel leader-epoch mymaster 1

sentinel config-epoch mymaster  1

這兩個配置後面的數量主從機須要同樣

請注意,當主機啓動過redis-sentinel 後,哨兵會根據各叢機配置自動查找叢機,會在主機的sentinel.conf文件中自動生成叢機IP,因此不須要將全部叢機IP 列出來

當啓動過redis-sentinel時,會在主機sentinel.conf和從機sentinel.conf中生成myid,建議重啓redis-sentinel時將兩個sentinel.conf中生成的myid刪除,否則主從切換時,會根據myid去找對應的從機,當新生成的myid和原來的myid不一致,將沒法切換

設置從機sentinel.conf

和主機的sentinel.conf保持一致,

先啓動主機redis-server ,在啓動從機redis-server,再啓動主機redis-sentinel 再啓動從機redis-sentinel

將主機master的進程殺掉,能夠看到下圖的日誌,右邊爲主機,左邊爲從機

原文:https://blog.csdn.net/wyyanhxbl/article/details/52367630?utm_source=copy 

相關文章
相關標籤/搜索