Storm总体交互关系

Storm总体交互图

Storm总体交互关系_第1张图片

图来自:

1. Nimbus启动,向zookeeper发送请求,创建并监听以下路径

a. /storm/workerbeats/ 用以保存Worker的运行状态信息.通过node和port来标定一个worker.  初创建时此节点内容为空

b. /storm/storms/ 用以保存topology本身的信息. 包括他的名字, 启动时间,并行度等

c. /storm/assignments/ 保存nimbus为每个topology分配的任务信息. 包括topology在nimbus本地保存的目录, 被分配到supervisor节点的主机名的映射关系, 每个Executor运行在哪个Worker上等

d. /storm/supervisors/ 保存supervisors进程相关的信息

e. /storm/errors///e 保存组件错误信息

注意:以上<>标记的路径节点实际上并未创建,只是为了表示格式完整性做的标注

2.  Supervisor启动

a. 在zookeeper上创建一个临时节点 /storm/supervisor/supervisor-id. 当此supervisor存活时临时节点始终存在,断开后节点消失

b. 监听/zookeeper/assignments 获取任务信息

c. 同时, supervisor会通过一个本地的LocalState来监控它所启动的所有worker的心跳信息.

你可能感兴趣的:(storm)