Redis-Sentinel主从自动切换

    xiaoxiao2021-03-25  99

    entinel哨兵: 在其中一台redis上或者随便找一台服务器安装,如果只安装一个sentinel并要安装在redis服务器上,建议在从上搭建sentinel,这样保证了主宕机之后不会影响主从切换,从宕机不会影响主的运行

    # vim /etc/redis/sentinel.conf port 26379 daemonize yes sentinel monitor mymaster 192.168.1.44 6379 1 sentinel down-after-milliseconds mymaster 30000 sentinel parallel-syncs mymaster 1 sentinel failover-timeout mymaster 900000 logfile "/var/log/sentinel.log"

    注释: 第一行:指定sentinel端口号 第二行:指定sentinel为后台启动 第三行:指定sentinel去监视一个名为mymaster的Master,Master的IP地址为118.144.155.44, 端口为6379,最后的1表示当有1个Sentinel检测到Master异常时会判定其失效,如果为2,即只有当2个Sentinel都判定Master失效了才会自动迁移,如果Sentinel的数量不达标,则不会执行自动故障迁移。 第四行:指定Sentinel判定Master断线的时间。(单位为毫秒,判定为主观下线SDOWN) 第五行:指定在执行故障转移时,最多可以有多少个Slave同时对新的Master进行同步。这个数字设置为1,虽然完成故障转移所需的时间会变长,但是可以保证每次只有1个Slave处于不能处理命令请求的状态。 第六行:如果在该时间(ms)内未能完成failover(即故障时master/slave自动切换 )操作,则认为该failover失败。 第七行:指定Sentinel日志文件。

    启动

    # redis-sentinel /etc/redis/sentinel.conf

    Bonus: 在阿里云的设备上,无法正常启动Sentinel进程,查看Sentinel的Log发现,有如下信息:

    Creating Server TCP listening socket *:26379: unable to bind socket

    原因:ECS Linux系统默认关闭了Ipv6的功能,所以 redis-sentinel 尝试在 ipv6 的网络接口上监听时,提示出错。可以在 sentinel.conf 里配置文件设置仅监听ipv4的网络接口,修改配置文件 sentinel.conf 在 定义监听端口一行前添加监听IP参数,如 bind 0.0.0.0 ,表示仅监听IPv4,然后重新启动Sentinel即可。 [基础常识]在CentOS 6 运行 redis-sentinel 程序

    转载请注明原文地址: https://ju.6miu.com/read-21118.html

    最新回复(0)