目录
1、编辑哨兵的配置文件
redis源码安装/redis/redis-6.0.8/下有sentinel.conf文件---默认生成的哨兵配置文件(这就是默认的1个)
然后还需要哨兵的话:将sentinel.conf复制出来(需要搭建几个哨兵复制几个)
1)daemonize yes
2)port 26379
mymaster是别名 后跟的是master的ip和端口,最后一个'1'是投票数,代表只要有1个sentinel认为master下线,就认为该master客观下线,启动failover并选举产生新的master。通常最后一个参数不能多于启动的sentinel实例数。建议至少启动三台sentinel实例。]
3)sentinel monitor mymaster 127.0.0.1 6379 1
以下配置默认即可
#指定工作目录
dir "/usr/local/redis-sentinel/7505" # 数据存储路径
logfile "/var/log/redis/sentinel.log" # 日志文件路径
#如果哨兵3s内没有收到主节点的心跳,哨兵就认为主节点宕机了,默认是30秒
sentinel down-after-milliseconds mymaster 3000 # 定义主服务器宕机的检测时间
#选举出新的主节点之后,可以同时连接从节点的个数
sentinel parallel-syncs mymaster 1
#如果10秒后,master仍没活过来,则启动failover,默认180s
sentinel failover-timeout mymaster 10000 # 定义故障转移的超时时间
#配置连接redis主节点密码
sentinel auth-pass mymaster 123456
2、启动redis节点并启动哨兵
[root@bogon utils]# systemctl start redis_6379.service
[root@bogon utils]# systemctl start redis_6380.service
[root@bogon utils]# systemctl start redis_6381.service
[root@bogon src]# ./redis-server /redis/redis-6.0.8/sentinel.conf --sentinel
3、查看状态 | 从机连接主机
6380客户端执行:REPLICAOF 127.0.0.1 6379
6381客户端执行:REPLICAOF 127.0.0.1 63796380客户端执行:info replication
6381客户端执行:info replication
6379客户端执行:info replication ## 查看主备默认是否成功
4、故障转移
6379客户端执行:shutdown
等待30秒
6380\6381客户端执行:info replication 查看主备状态
5、故障恢复
重新启动6379
[root@bogon utils]# systemctl stop redis_6379.service
[root@bogon utils]# systemctl start redis_6379.service
再次查看info replication
原来的主节点变成了从节点
6、选取新的主机时受影响的因素
1、slave-priority 越小
2、偏移量最大
3、runid最小