使用sentinel進行redis主從切換的操作步驟(failOver故障轉移)(何志雄)
4、在redis-2.8.19的根目錄下,vi sentinel.conf
port 26379
daemonize yes
logfile "./log/sentinel.log"
sentinel monitor 155Master 192.168.62.155 6379 2
sentinel auth-pass 155Master hezhixiong
sentinel down-after-milliseconds 155Master 5000
sentinel failover-timeout 155Master 900000
sentinel parallel-syncs 155Master 1
解釋:daemonize 後臺執行
sentinel monitor 155Master 192.168.62.155 63791最後的1代表,只要一臺sentinel監聽到Master異常就做切換,
如果配置2-N,那麼就需要N臺sentinel例項,如果配置了2,但實際只有1臺sentinel,那麼即時master出現異常,也不會做Master-salver切換。
sentinel auth-pass :需要主從的requirepass /masterauth 都配置該密碼requirepass //masterauth 都配置該密碼都配置該密碼
5、防火牆開啟埠(所有redis的sentinel伺服器都要執行):
#/sbin/iptables -I INPUT -p tcp --dport 26379 -j ACCEPT6、啟動sentinel,監聽如果Master掛了,此時進行自動切換 src/redis-sentinel /soft/redis-2.8.19/sentinel.conf #(大家不需要執行該行語句)src/redis-sentinel /soft/redissentinel/redis-2.8.19/sentinel.conf 7、在主從切換的時候可能網路報錯。 1、場景:主機掛了,從機生效。再次將主機拉起,理論上應該從當前的主機(原先的從機)同步資料,但日誌報告 Error condition on socket for SYNC: No route to host
#/etc/init.d/iptables save
#service iptables restart
2、解決方法:1)粗暴解決:將所有redis的伺服器的防火牆關閉。臨時關閉:service iptables stop 永久關閉:chkconfig iptables off 2)防火牆開啟埠: #/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT
#/etc/init.d/iptables save
#service iptables restart