使用sentinel进行redis主从切换的操作步骤(failOver故障转移)

 

 1、如果是链式Master-slaver-slaver-slaver,如果主服务器挂了,此时不会切换为slaver。
          此处和mongoDB 不一样,mongoDB只要有3台,就能自动切换,而redis,无论有几台slaver,都不会自动切换。
          因此需要使用sentinel进行自动切换。
 
 2、建议最基本的配置是:1台redis Master,1台redis slaver。另外再装至少2台sentinel服务器(1台的时候实践发现不能实现主从自动切换)
          且非常强烈要配置2台以上。
          
 3、安装步骤:
         1、和安装redis服务器一样,
              #tar -zxvf redis-2.8.19.tar.gz
              #cd redis-2.8.19
              #make
              #make install
 
  3、#mkdir log     
           #cd log
           #vi sentinel.log 并保存 #日志文件,可以tail查看

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 6379  1 最后的 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 ACCEPT
            #/etc/init.d/iptables save
            #service iptables restart
 
      6、启动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
           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

 

你可能感兴趣的:(redis,redis,failover,HA,主从切换)