Storm 流程分析

这里写图片描述

流程说明

  1. client提交topology到nimbus

  2. nimbus针对该topology建立本地的目录,nimbus中的调度器根据topology的配置计算task,并把task分配到不同的worker上,调度的结果写入zk。

  3. 在zk上创建assignments节点,存储task和supervisor中work的对应关系。
    在zk上创建workerbeats节点来监控worker的心跳。

  4. supervisor通过watch机制, 感知到nimbus在zk上的任务分配信息, 并从zk上拉取任务信息, 分辨出属于自己的任务。根据自己的任务信息, 启动自己的worker, 并分配端口

  5. worker启动之后, 连接zk, 拉去任务。
    worker根据任务类型, 分别执行spout任务或者bolt任务
        spout生命周期:open、nextTuple、outPutFiled
        bolt   生命周期:prepare、execute(tuple)、outPutFiled


  • 每个worker上运行多个task,task有executor来具体执行。worker根据topology信息初始化建立task之间的连接,相同worker内的task通过disrupterQueue来通信,不同worker间默认采用netty来通信。然后整个topology就运行起来了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值