Storm主要组件介绍

来源:互联网 发布:vasp windows版 编辑:程序博客网 时间:2024/05/17 23:21

Storm主要分为两种组件Nimbus和Supervisor。这两种组件都是快速失败的,没有状态。任务状态和心跳信息等都保存在Zookeeper上的,提交的代码资源都在本地机器的硬盘上。

  • Nimbus负责在集群里面发送代码,分配工作给机器,并且监控状态。全局只有一个。
  • Supervisor会监听分配给它那台机器的工作,根据需要启动/关闭工作进程Worker。每一个要运行Storm的机器上都要部署一个,并且,按照机器的配置设定上面分配的槽位数。
  • Zookeeper是Storm重点依赖的外部资源。Nimbus和Supervisor甚至实际运行的Worker都是把心跳保存在Zookeeper上的。Nimbus也是根据Zookeerper上的心跳和任务运行状况,进行调度和任务分配的。
  • Storm提交运行的程序称为Topology。
  • Topology处理的最小的消息单位是一个Tuple,也就是一个任意对象的数组。
  • Topology由Spout和Bolt构成。Spout是发出Tuple的结点。Bolt可以随意订阅某个Spout或者Bolt发出的Tuple。Spout和Bolt都统称为component。

下图是一个Topology设计的逻辑图的例子。

topology01

     下图是Topology的提交流程图。

topology02

      下图是Storm的数据交互图。可以看出两个模块Nimbus和Supervisor之间没有直接交互。状态都是保存在Zookeeper上。Worker之间通过ZeroMQ传送数据。



0 0
原创粉丝点击