apache-zookeeper - Zookeeper - 如何获取集群中的节点崩溃事件?

标签 apache-zookeeper

我使用 Zookeeper 作为集群的组通信框架。在我的集群中,每当节点崩溃时,我都想要一个相同的事件。这个怎么做 ? 早些时候,我使用 JGroup 作为组通信框架,其中集群内的每个节点都使用连接到同一 channel ,每当特定节点崩溃时,Jgroup 都会生成一个事件。

最佳答案

您可以让每个节点创建一个 ephemeral Zookeeper 中的 znode。当节点崩溃时,临时 znode 将消失。

现在要收到新节点加入和离开的通知,让所有临时 znode 成为同一父 znode 的子节点,并注册 watch在父 znode 的子节点上。当添加和删除子 znode 时,此监视将触发,让您可以查看节点何时加入或离开集群。

请记住每次触发时都重新注册您的 watch ,并注意如果节点加入和离开的速度非常快,您可能会错过该事件。

关于apache-zookeeper - Zookeeper - 如何获取集群中的节点崩溃事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14153640/

相关文章:

HBase Zookeeper 关闭连接

apache-zookeeper - 使用solrCloud爬取时出现SessionException

hadoop - 无法登录 Stratio 管理页面

apache-kafka - zookeeper集群中某个节点出现故障后怎么办?

apache-kafka - 如何进入Kafka集成的Zookeeper? (2.2.0)

java - ZooKeeper 食谱和 Apache Curator

java - 我如何知道curator InterProcessSemaphoreMutex丢失后是否被重新获取?

apache-zookeeper - 将 Kafka 0.8.1 与 Zookeeper 3.4.6 结合使用时遇到 LeaderNotAvailableException

apache-zookeeper - Zookeeper : how to rename, 复制或移动路径?

configuration - ZooKeeper 多服务器设置示例