Redis哨兵机制,一主二从
注:Redis哨兵切换,建议一主多从
一、一主二从
教程步骤:https://www.cnblogs.com/pinghengxing/p/11139997.html
二、哨兵配置(sentinel.conf)
哨兵机制也分单台以及集群,在此我们只构建哨兵集群
cd /usr/software/redis/redis-ms/
1.创建哨兵目录
/usr/software/redis/redis-ms/sentinel/26001
/usr/software/redis/redis-ms/sentinel/26002
/usr/software/redis/redis-ms/sentinel/26003
2.修改sentinel.conf
cd /usr/software/redis/redis-ms/sentinel/26001
vim sentinel.conf
#修改如下键值对
# bind 127.0.0.1 192.168.1.1
protected-mode no
port 26001
daemonize yes
pidfile /var/run/redis-sentinel_26001.pid
logfile "/usr/software/redis/redis-ms/sentinel/26001/log/redis-sentinel.log"
dir /usr/software/redis/redis-ms/sentinel/26001/tmp
#设置 主名称 ip地址 端口号 参入选举的哨兵数
#配置哨兵需要监控的主节点ip和端口,最后的2代表,如果有2个哨兵主观认为主节点down了,
#那么就客观认为主节点down掉了,开始发起投票选举新主节点的操作。多个主节点配置多个。
sentinel monitor mymaster 140.143.26.123 7001 2
# switched off.
#设置连接master和slave时的密码,注意的是sentinel不能分别为master和slave设置不同的密码,
#因此master和slave的密码应该设置相同。
sentinel auth-pass mymaster ww
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
针对其他的sentinel.conf只需要修改配置文件的地址以及端口(改为26002,26003)即可
3、修改主redis.conf的以下配置
masterauth ww# 主服务器配置masterauth作用主要是为了后期sentinel引入后重新选举master并且7001端口redis重新加入主从复制时必备的,否则会出现权限不足
三、启动测试、
1、对redis-sentinel做软连接(可以在任意目录执行redis-sentinel )
ln -s /usr/software/redis/redis-sentinel /usr/bin/
2、首先启动三台redis
然后启动三台哨兵,如下:
运行后发现sentinel.conf的配置文件被重写了,从内容可以看出有哪些slave和sentinel
四、故障转移
kill 掉 7001的主节点
发现主节点转移到7003上
重新启动7001后,7001变为从节点,但发现连接不上主节点master_link_status:down,
这是因为我没有在7001节点上设置
masterauth ww,设置后重启,连接正常
设置masterauth ww 并重启后状态
原文地址:https://www.cnblogs.com/pinghengxing/p/11142310.html