开发者学堂课程【Redis 入门到精通(进阶篇):集群-主从下线与主从切换】学习笔记与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/765/detail/13470
集群-主从下线与主从切换
内容介绍
一、 Slave 下线切换
二、 Master 下线切换
三、 Cluster 配置
正常的操作不是 cluster 集群的优势,它的优势是出问题后怎么办。接下来分两部分来查看,首先来看 slave 掉了后是否会对整个集群造成影响,再来看 master。
一、Slave 下线切换
在 slave1 中找到 Background AOF rewrite finished sucessfully
使用 ctrl C 停止,然后显示退出的一些指令
接着查看 master1,可以看到最后显示从丢失
Connection with slave 127.0.0.1:6382 lost
Marking node 715ea09a37c333e6d3a3acbf97f95e3e951de6e7 as failing(quorum reached)
再来看master2,最后显示
Synchronization with slave 127.0.0.1:6384 suceeded
FAIL message received from
8bd87b4d5fc269f286d95c55dfa676b74720a9bd
about
715ea09a37c333e6d3a3acbf97f95e3e951de6e7
再重新连接,在 slave1 中输入
redis-server /redis-4.0.0/conf/redis-6382.conf
再来查看 master1,最后显示
Synchronization with slave 127.0.0.1:6382 suceeded
发现同步 slave 成功了。
当从下线之后对功能是没有影响的,只是会标记不能使用。
二、Master 下线切换
接下来使用 ctrl C 停掉 master1,打开 slave1,发现连接的 master 丢失:Connection with master lost,之后会重复连接 master,十次连接未成功后声明已经与 master 失去联系:
FAIL message received from 446b6f0abdbe3743ca349cf3a628e4dfd5309cecf about
8bd87b4d5fc269f286d95c55dfa676b74720a9bd
只有十次是因为前面设置了10s的超时,1s测试一下状态
接下来会进行自身变为 master 的过程,完成后 cluster 状态恢复正常。
在这时可以去客户端查询节点情况,输入
cluster nodes
发现有四个 master,其中有一个 master 是失败的,目前线上先标记为失败,有可能恢复。cluster nodes 是用来看 master 的命令。
接着再将 master1 连接上,输入
redis-service /redis-4.0.0/conf/redis-6379.conf
重连 master 后 slave1 变成主,接下来他接受了6379把他当成 slave,然后开始同步调换位置。
再来查看 slave1 客户端的状态,输入
cluster nodes
结果显示刚才的 master fail 变成了 slave
以上就演示了主从掉线再分别上线的情况
三、Cluster 配置
设置加入 cluster,成为其中的节点
cluster-enabled yes|no
cluster配置文件名,该文件属于自动生成,仅用于快速查找文件并查询文件内容
cluster-config-file <filename>
节点服务响应超时时间,用于判定该节点是否下线或切换为从节点
cluster-node-timeout <milliseconds>
master 连接的 slave 最小数量
cluster-migration-barrier <count>
查看集群节点信息
cluster nodes
进入一个从节点 redis,切换其主节点
cluster replicate <master-id>
发现一个新节点,新增主节点
cluster meet ip:port
忽略一个没有 solt 的节点
cluster forget <id>
手动故障转移
cluster failover