您的位置:首页 > 数据库 > Redis

Redis-Sentinel主从自动切换

2017-03-10 14:24 369 查看
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 程序
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  redis sentinel