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

redis主从同步配置和哨兵机制监控master主从切换配置

2016-08-30 11:11 851 查看
搭建好redis单机后,开始研究redis集群配置

两台VM虚拟机,都安装了redis程序,一台作为master 一台作为slave

首先配置redis主从配置

配置在redis.conf文件中

主机上需要设置masterauth(光主从同步不需要配置这个,但是后续配置哨兵机制的时候需要配置这个属性)

从机上需要配置slaveof 主机IP 主机端口,同样也许配置masterauth,密码和主机一样

启动主机,启动从机

在主机上set key value后

在从机上get key 

能正常得到主机设置的值

但是要实现主从容错自动切换,就需要配置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的进程杀掉,可以看到下图的日志,右边为主机,左边为从机

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: