JSRUN 用代码说话

工作流程

编辑教程

工作流程

一个工作的Storm集群应该有一个Nimbus和一个或多个supervisors。另一个重要的节点是Apache ZooKeeper,它将用于nimbus和supervisors之间的协调。

现在让我们仔细看看Apache Storm的工作流程 −

最初,nimbus将等待“Storm拓扑”提交给它。

一旦提交拓扑,它将处理拓扑并收集要执行的所有任务和任务将被执行的顺序。

然后,nimbus将任务均匀分配给所有可用的supervisors。

在特定的时间间隔,所有supervisor将向nimbus发送心跳以通知它们仍然运行着。

当supervisor终止并且不向心跳发送心跳时,则nimbus将任务分配给另一个supervisor。

当nimbus本身终止时,supervisor将在没有任何问题的情况下对已经分配的任务进行工作。

一旦所有的任务都完成后,supervisor将等待新的任务进去。

同时,终止nimbus将由服务监控工具自动重新启动。

重新启动的网络将从停止的地方继续。同样,终止supervisor也可以自动重新启动。由于网络管理程序和supervisor都可以自动重新启动,并且两者将像以前一样继续,因此Storm保证至少处理所有任务一次。

一旦处理了所有拓扑,则网络管理器等待新的拓扑到达,并且类似地,管理器等待新的任务。

默认情况下,Storm集群中有两种模式:

  • 本地模式 -此模式用于开发,测试和调试,因为它是查看所有拓扑组件协同工作的最简单方法。在这种模式下,我们可以调整参数,使我们能够看到我们的拓扑如何在不同的Storm配置环境中运行。在本地模式下,storm拓扑在本地机器上在单个JVM中运行。

  • 生产模式 -在这种模式下,我们将拓扑提交到工作Storm集群,该集群由许多进程组成,通常运行在不同的机器上。如在storm的工作流中所讨论的,工作集群将无限地运行,直到它被关闭。

JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟