Linux安装redis-哨兵模式部署
哨兵部署:在master节点出现故障后,哨兵进程会自动将master下线,自动将子节点提升为主节点。完成故障转移,实现高可用性。

这个架构图里面,我们部署了3个哨兵节点组成了一个哨兵集群。它们在启动的时候会进行哨兵选举,选举出一个领导者,在出现故障转移的时候,由领导者进行主导,而触发故障转移需要大部分的哨兵节点都认为主节点发生了故障。这个状态我们称为客观下线。与之对应的是主观下线:也就是单个哨兵发现主节点出现故障,会去询问其他的节点,确认当前主节点是否已经出现故障,当其他哨兵确认主节点出现了故障,并且数量超过了大多数。这时就会从主观下线转为客观下线,一旦确认客观下线就会触发故障转移。由领导者主导,将主节点进行下线操作。然后在从节点里选一个晋升为主机点。然后告知客户端,新的主节点在什么位置,实现无缝切换。旧的主节点恢复后会重新加入到整个集群中,只是角色变成了从节点。
3.1. 哨兵模式部署
整体架构:这个结构是基于主从部署的基础上,新增你了3个哨兵节点,每个哨兵节点都是监控 同一个主节点129的状态.

3 个机器都需要修改 sentinel.conf 配置(vim sentinel.conf),配置完成之后先从主节点开始启动哨兵。
protected-mode no #6⾏,关闭保护模式 daemonize yes #15⾏,指定sentinel为后台启动 logfile /opt/software/redis/redis-stable/sentinel.log #34⾏,指定⽇志存放路径 dir /opt/software/redis #73⾏,指定数据库存放路径 sentinel monitor mymaster 192.168.75.129 6379 2#93⾏,修改 指定该哨兵节点监控20.0.0.20:6379这个主节点,该主节点的名称是mymaster,最后的2的含义与主节点的故障判定有关:⾄少需要2个哨兵节点同意,才能判定主节点故障并进⾏故障转移 sentinel down-after-milliseconds mymaster 30000 #134⾏,判定服务器down掉的时间周期,默认30000毫秒(30秒) sentinel failover-timeout mymaster 180000 #234⾏,故障节点的最⼤超时时间为180000(180秒)
将三个服务都启动redis-server redis.conf后,可以用redis-cli info replication查看下当前主从架构的状态。

操作
然后启动哨兵(主节点操作):redis-sentinel sentinel.conf
查看哨兵(主节点操作): redis-cli -p 26379 info sentinel
测试:将129主节点下线:redis-cli shutdown,然后查看当前的sentinel.log日志: cat sentinel.log。
节点查看状态:redis-cli info replication。发现131的节点已变成了主节点。

也可以到129上,日志文件查看下变化。cat redis.conf cat sentinel.conf
本文原创,转载必追究版权。


