Storm的组件介绍

  组件主要有:topology, spout, bolt, tuple, stream, streams grouping
  集群中的组件有:nimbus, supervisor

  topology:拓扑,也俗称一个任务。
  spout:拓扑的消息源
  bolt:拓扑的处理逻辑单元
  tuple:消息元组
  stream:流
  stream grouping:流的分组策略
  task:任务处理单元
  executor:工作线程
  worker:工作进程
  configuration:topology的配置

  集群主要包括两个角色:supervisor和一个nimbus组建集群管理。逻辑图如下:

181514_TB1w_2746716.png


  nimbus守护进程的主要职责是管理,协调和监控在集群上运行的topology。包括topology的发布,任务指派,事件处理失败时重新指派任务。
  前面提到过,严格意义上讲nimbus不会引起单点故障。这个特性是因为nimbus并不参与topology的数据处理过程,它仅仅是管理topology的初始化,任务分布和进行监控。实际上,如果nimbus守护进程在topology运行时停止了,只要分配的supervisor和worker健康运行,topology会一直继续数据处理。但是如果在nimbus已经停止的情况下supervisor异常终止,因为没有nimbus守护进程来重新指派失败这个终止的supervisor的任务,数据处理就会失败。
  supervisor守护进程等待nimbus分配任务后生成并监控workers(JVM进程)执行任务。supervisor和worker都是运行在不同的JVM进程上,如果由supervisor拉起的一个worker进程因为错误(或者因为Unix终端的kill -9命令,Window的tskkill命令强制结束)异常退出,supervisor守护进程会尝试重新生成新的worker进程。


  如下所示:storm中的每个节点为supervisor,每个supervisor会开启一个或者多个worker进程(可以配置),每个work进程会启动多个executor线程,每个线程启动多个task实例,每个实例为一个bolt的逻辑运算,但是每一个executor开启的多个task实例必须为同一个bolt实例。一个task可以简单地理解为在集群某节点上运行的一个spout或者bolt实例。

181648_5YAv_2746716.png

181635_gnyG_2746716.png

 

 

 

 

 

 

 

转载于:https://my.oschina.net/134596/blog/1798038

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值