Zooker故障转移策略

时间:2014-09-08 04:34:24

标签: apache-zookeeper apache-storm apache-kafka

我们是年轻的团队,使用Storm和Kafka构建应用程序。 我们有3个节点的常见Zookeeper集合,Storm和Kafka都使用它们。

我写了一个测试用例来测试zooker Failovers

1)检查所有三个节点是否正在运行并确认一个被选为领导者。

2)使用Zookeeper unix客户端,创建一个znode并设置一个值。验证值是否反映在其他节点上。

3)修改znode。在一个节点中设置值并验证其他节点是否反映了更改。

4)终止其中一个工作节点,确保主/领导者收到有关崩溃的通知。

5)杀死领导者节点。验证其他两个节点,其中一个被选为领导者。

我是否需要添加更多测试用例?要添加的其他想法/建议/指示?

1 个答案:

答案 0 :(得分:1)

来自documentation
验证自动故障转移

  

设置自动故障转移后,您应该测试其操作。为此,请首先找到活动的NameNode。您可以通过访问NameNode Web界面来确定哪个节点处于活动状态 - 每个节点在页面顶部报告其HA状态。

       找到活动的NameNode后,可能会导致该节点出现故障。例如,您可以使用kill -9来模拟JVM崩溃。或者,您可以重启机器或拔掉网络接口以模拟不同类型的停机。触发您希望测试的中断后,另一个NameNode应在几秒钟内自动激活。检测故障并触发故障转移所需的时间取决于ha.zookeeper.session-timeout.ms的配置,但默认为5秒。

  如果测试不成功,则可能是配置错误。检查日志以查找zkfc守护程序以及NameNode守护程序,以便进一步诊断问题。

more on setting up automatic failover