编写好一个Storm程序之后,需要将该Storm任务提交到Storm集群上去执行。Storm任务的提交流程如下图所示:

从上图可以看出,Storm提交任务到Storm集群有以下几个步骤:
- 由客户端提交Topology任务到Storm集群的nimbus主节点;
- nimbus主节点收到任务请求后,创建Topology任务的本地目录,并将任务的Jar包上传至$STORM_HOME/tmp/nimbus/inbox/目录下;
- nimbus主节点从ZooKeeper上获取活动的从节点信息,并计算任务的工作量;
- nimbus主节点将任务的分配信息写入ZooKeeper;
- supervisor从节点监听ZooKeeper上的信息,当有任务分配时,启动任务的Topology;
- 对于某个supervisor从节点,从ZooKeeper上获取分配给自己的Task任务,并启动相应数目的Worker进程;
- 由Worker进程来执行具有任务的Task:Spout或者Bolt;
网友评论