storm trident 和zookeeper的关系

在storm集群中,我们常常使用zookeeper作为协调者。那么具体发挥的是什么作用呢?

概括来说,zookeeper是nimbus和supervisor进行交互的中介。具体来说有二:

1、nimbus通过在zookeeper上写状态信息来分配任务。通俗的讲就是写哪些supervisor执行哪些task的对应关系。而supervisor则通过从zookeeper上读取这些状态信息,来领取任务。

2、supervisor、task会发送心跳到zookeeper,使得nimbus可以监控整个集群的状态,从而在task执行失败时,可以重启他们。

更详细的内容,请参考这篇文章:

http://greeensy.github.io/jstorm-status/

Trident会再Zookeeper中保存一小部分状态信息来追踪数据的处理情况,而在 代码中我们指定的字符串“spout1”就是Zookeeper中用来存储metadata信息的Znode节点

    原文作者:正居明阳
    原文地址: https://www.jianshu.com/p/460165c6d47b
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞