📜  Apache Storm-工作流程

📅  最后修改于: 2020-12-02 05:55:09             🧑  作者: Mango


正常运行的Storm集群应具有一个灵气和一个或多个主管。另一个重要的节点是Apache ZooKeeper,它将用于在灵气和主管之间进行协调。

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

  • 最初,灵气将等待“风暴拓扑”被提交给它。

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

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

  • 在特定的时间间隔内,所有主管都将向心律图发送心跳,以告知他们仍然活着。

  • 当主管死亡时,没有向心电图发送心跳,则云雨布将任务分配给另一位主管。

  • 当灵气本身死亡时,主管将毫无问题地完成已经分配的任务。

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

  • 同时,失效的灵气将通过服务监控工具自动重启。

  • 重新启动的雨云将从停止的地方继续。同样,失效的主管也可以自动重新启动。由于灵气和主管都可以自动重新启动,并且它们都将像以前一样继续运行,因此可以确保Storm至少处理一次所有任务。

  • 一旦处理完所有拓扑,灵气就等待新的拓扑到达,并且主管也同样等待新的任务。

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

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

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