Apache Storm - 工作流程

正在运行的Storm群集应该有一个nimbus和一个或多个主管.另一个重要的节点是Apache ZooKeeper,它将用于nimbus和主管之间的协调.

现在让我们仔细看看Apache Storm&minus的工作流程;

  • 最初,nimbus将等待"Storm Topology"提交给它.

  • 提交拓扑后,它将处理拓扑并收集要执行的所有任务以及执行任务的顺序.

  • 然后,灵气将把任务均匀地分配给所有可用的主管.

  • 在特定的时间间隔,所有主管都会向心灵发送心跳,告知他们还活着.

  • 当一位主管去世并且没有向雨云发送心跳时,那么nimbus将任务分配给另一位主管.

  • 当雨云本身死亡时,主管将对已经分配的任务进行处理请求没有任何问题.

  • 完成所有任务后,主管将等待新任务进入.

  • 与此同时,服务监控工具将自动重新启动死灵气.

  • 重新启动的灵气将从它停在哪里.同样,死监督员也可以自动重启.由于nimbus和supervisor都可以自动重启,并且两者都会像以前一样继续运行,因此Storm保证至少处理一次所有任务.

  • 处理拓扑,nimbus等待新拓扑到达,同样主管等待新任务.

默认情况下,那里风暴群中有两种模式 :

  • 本地模式 : 此模式用于开发,测试和调试,因为它是查看所有拓扑组件协同工作的最简单方法.在此模式下,我们可以调整参数,以便我们了解拓扑在不同Storm配置环境中的运行方式.在本地模式下,风暴拓扑在单个JVM中的本地计算机上运行.

  • 生产模式 : 在此模式下,我们将拓扑提交到工作风暴集群,该集群由许多进程组成,通常在不同的机器上运行.正如风暴工作流程中所讨论的那样,工作集群将无限期运行直至关闭.