Storm教程

Storm 工作流

一个工作的 Storm 集群应该有一个 nimbus 和一个或多个主管。另一个重要的节点是 Apache ZooKeeper,它将用于 nimbus 和 Supervisor 之间的协调。
现在让我们仔细看看 Apache Storm 的工作流程-
最初,nimbus 将等待"Storm拓扑"提交给它。 提交拓扑后,它将处理拓扑并收集所有要执行的任务以及任务执行的顺序。 然后,nimbus 会将任务平均分配给所有可用的主管。 在特定的时间间隔内,所有监督者都会向 nimbus 发送心跳以通知他们还活着。 当主管死亡并且没有向 nimbus 发送心跳时,nimbus 会将任务分配给另一个主管。 当 nimbus 本身消失时,主管将毫无问题地处理已分配的任务。 完成所有任务后,主管将等待新任务的到来。 同时,服务监控工具会自动重启失效的 nimbus。 重新启动的 Nimbus 将从它停止的地方继续。同样,死掉的supervisor也可以自动重启。由于 nimbus 和 supervisor 都可以自动重启,并且都会像以前一样继续,因此 Storm 保证至少处理一次所有任务。 处理完所有拓扑后,nimbus 等待新拓扑到达,类似地,主管等待新任务。
默认情况下,Storm 集群中有两种模式-
本地模式-此模式用于开发、测试和调试,因为它是查看所有拓扑组件协同工作的最简单方法。一世在这种模式下,我们可以调整参数,使我们能够看到我们的拓扑如何在不同的 Storm 配置环境中运行。在本地模式下,storm 拓扑在本地机器上的单个 JVM 中运行。 生产模式-在这种模式下,我们将拓扑提交到工作Storm集群,该集群由许多进程组成,通常运行在不同的机器上。正如 Storm 的工作流中所讨论的那样,一个工作集群将无限期地运行,直到它被关闭。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4