如何使用观察者跨数据中心管理ZooKeeper中的故障转移

时间:2017-02-10 10:52:30

标签: apache-zookeeper distributed-computing high-availability failover automatic-failover

我有一个在3个不同数据中心运行的应用程序,它使用ZooKeeper执行许多任务。按照推荐的做法,我们部署了三个ZooKeeper集合,其中一个数据中心包含常见的ZooKeeper实例,另外两个仅为第一个数据中心的observers

DC1: Usual leader/follower ensemble
DC2: Observers of DC1
DC3: Observers of DC1

正如ZooKeeper的文档中所解释的那样,只有领导者机器才能接受写入请求,因此关注者和观察者会首先将这些消息路由到领导者。如果领导者没有反应,可选择的追随者将被选为新领导者,并且ZooKeeper合奏将保持不变。

但是我找不到任何有关如何管理整个数据中心离线的参考资料。例如,如果我们在数据中心1上的领导者/跟随者合奏不可用,我们怎样才能使第二个数据中心成为普通领导/追随者机器的主要数据中心?我是否必须关闭节点,将其配置文件更改为常用节点,再次打开它,然后替换所有其他ZooKeeper机器以跟随此领导者?那有自动系统吗?

0 个答案:

没有答案