Centos7上Redis主从集群(http://www.javacui.com/tool/591.html)最后提到一点,集群时无需再进行配置哨兵模式,集群会进行自动故障转移。
那么如何进行数据迁移,做到无感知机器切换呢?
利用cluster failover命令可以手动让集群中的某个master宕机,切换到执行cluster failover命令的这个slave节点,实现无感知的数据迁移。其流程如下
手动的Failover支持三种不同模式:
缺省:默认的流程,如图1~6歩
force:省略了对offset的一致性校验
takeover:直接执行第5歩,忽略数据一致性、忽略master状态和其它master的意见。
具体操作流程为
1.准备一个新机器B,作为主机A的从机slave。
2.在新机器B上执行cluster failover。
3.新机器B做master后,更新原来master设备A。
4.更新A后让A作为B的slave,然后让A夺回master即可。
这里接着之前的7002停机,重新启动,然后执行failover:
可以看到7002已经成为master节点。
Java小强
未曾清贫难成人,不经打击老天真。
自古英雄出炼狱,从来富贵入凡尘。
发表评论: