北京seo网站内部优化,建设项目查询网站,大学生网站规划建设,wordpress禁止谷歌字体目录 一 哨兵模式
1.1 redis的哨兵模式作用
1.2 redis的哨兵模式架构
1.3 redis的哨兵模式参数说明
二 redis的哨兵模式搭建
2.1 redis的主从复制模式
2.2 redis的sentinel配置文件
2.3 redis的实例节点和sentinel节点启动
3.3 redis的哨兵模式原理
3.3.1 redis的哨兵…目录 一 哨兵模式
1.1 redis的哨兵模式作用
1.2 redis的哨兵模式架构
1.3 redis的哨兵模式参数说明
二 redis的哨兵模式搭建
2.1 redis的主从复制模式
2.2 redis的sentinel配置文件
2.3 redis的实例节点和sentinel节点启动
3.3 redis的哨兵模式原理
3.3.1 redis的哨兵模式操作原理
3.4 redis的哨兵模式优缺点 一 哨兵模式
1.1 redis的哨兵模式作用
1.主从监控监控主从redis库运行是否正常
2.消息通知哨兵可以将故障转移的结果发送给客户端
3.故障转移如果master异常则会进行主从切换将其中一个slave作为新的master
4.配置中心客户端通过连接哨兵来获得当前redis服务的主节点地址。
1.2 redis的哨兵模式架构
3个哨兵自动监控和维护集群不存放数据只是吹哨人。
1主2从用于数据读取和存放。 1.3 redis的哨兵模式参数说明
Bind服务监听地址用于客户端连接默认本机地址。
Dameonize是否以后台daemon方式运行
Protected-mode 安全保护模式
Port 端口
Logfile 日志文件路径
Pidfile pid文件路径
Dir工作目录
Sentinel monitor 《master-name》《ip》 《redis-port》《quorum》 设置要监控master服务器。Quorum 表示最少有几个哨兵认可客观下线同意故障迁移的法定票数。
Sentinel auth-pass 《master-name》 《password》master设置了密码连接master服务的密码。
Sentinel down-after-milliseconds master-name milliseconds
指定多少毫秒之后主节点没有应答哨兵此时哨兵主观上认为主节点下线。
Sentinel parallel -syncs 《master-name》《nums》
表示允许并行同步的slave个数当master挂了后哨兵会选出新的master此时剩余的slave会向新的mster发起同步数据。
Sentinel failvoer-timeout 《master-name》milliseconds
故障转移的超时时间进行故障转移时如果超过设置的毫秒表示故障转移失败。
Sentinel notification-script 《master-name》《script-path》
配置当某一事件发生时所需要执行的脚本。
Setinle client-reconfig-script 《master-name》《script-path》
二 redis的哨兵模式搭建
2.1 redis的主从复制模式
先搭建好主从复制模式 在6379配置文件中6379后续可能会变成从机需要设置访问新主机的密码请设置masterauth项访问密码为111111不然后续可能报错master_link_status:down 在6380配置文件中设置校验密码和隶属主master的ip 在6381配置文件中设置校验密码和隶属主master的ip 2.2 redis的sentinel配置文件
由于机器硬件关系我们的3个哨兵都同时配置进192.168.111.169的同一台机器。 配置文件sentinel26379.conf内容 配置文件sentinel26380.conf内容 配置文件sentinel26381.conf内容 2.3 redis的实例节点和sentinel节点启动
1.三台实例的主从启动 2.启动3个哨兵并查看主从关系 2.根据哨兵原理本案例选举6381为新的master节点 3.重启6379可以看到原来的master变为了slave 4.登录6381服务查询已有两个slave节点 3.3 redis的哨兵模式原理
当一个主从配置的master失效后sentinel可以选举出一个新的master用于自动接替原来master的工作主从配置中的其他redis服务器自动指向新的master同步数据一般建议sentinel采取奇数台防止某一台sentinel无法连接到master导致误切换。选举过程中文件的内容会被sentinel动态更改。
3.3.1 redis的哨兵模式操作原理 1主节点下线判断
A)每个哨兵通过down-after-milliseconds设置判断自己监控的master是否触发下线
B)汇总各个哨兵的结果多个哨兵打成一致意见才能认为mster客观出现宕机。
2.从哨兵中选出兵王
当主节点被判断客观下线以后各个哨兵节点会进行协商通过一个Raft算法先选举出一个领导者哨兵节点并由该领导者哨兵节点进行failover故障迁移。哨兵文件的内容解析
1.sentinel26379.log中选举0664为哨兵王 2.sentinel26380.log中选举0664为哨兵王 3.sentinel26380.log中选举0664为哨兵王
4.raft算法 3.由兵王推动故障切换选出一个新的master
3.1 从剩余健康的slave节点中按
1.选择优先级靠前的redis.conf中slave-priority或者replica-priority的最高值数字越小优先级越高选取
2.选择偏移量最大的
3.选择runid最小的从服务
3.2 sentinel leader会对选举出的新master执行slave of no noe操作
将其提升为master节点sentinel leader向其他slave发送命令让剩余的slave成为新的master节点的slave
3.3 将之前已下线的老master设置为新选出master的从节点
当老master重新上线后他会成为新master的从节点sentinel leader会让原来的master降级为slave兵恢复为正常工作。
3.4 redis的哨兵模式优缺点
1.哨兵节点的数量应该为多个哨兵本身应该是集群保证高可用
2.哨兵节点的数量应该是奇数
3.各个哨兵节点的配置应一致
4.如果哨兵节点都部署在Docker等容器里面尤其要注意端口的正确映射哨兵主从复制但不能保证数据零丢失。