storm 任务提交过程

storm提交topology任务大概分为5个角色,一是:client,二是nimbus,三是zookeeper,四是supervisor,五是worker

下面介绍每个角色在任务提交的时候所做的一些操作:

1.client:提交topology
2.nimbus:这个角色所做的操作相对较多,具体如下:
          a.会把提交的jar包放到nimbus所在服务器的nimbus/inbox目录下
          b.submitTopology方法会负责topology的处理;包括检查集群是否有active节点、配置文件是否正确、是否有重复的topology名称、各个bolt/spout名是否使用相同的id等。
          c.建立topology的本地目录,nimbus/stormdist/topology-uuid
              该目录包括三个文件:
              stormjar.jar --从nimbus/inbox目录拷贝
              stormcode.ser --此topology对象的序列化
              stormconf.ser --此topology的配置文件序列化
          d.nimbus任务分配,根据topology中的定义,给spout/bolt设置task的数目,并分配对应的task-id,最后把分配好的信息写入到zookeeper的../task目录。
          e.nimbus在zookeeper上创建taskbeats目录,要求每个task定时向nimbus汇报
          f.将分配好的任务写入到zookeeper,此时任务提交完毕。zk上的目录为assignments/topology-uuid
          g.将topology信息写入到zookeeper/storms目录
3.supervisor
          a.定期扫描zookeeper上的storms目录,看看是否有新的任务,有就下载。
          b.删除本地不需要的topology
          c.根据nimbus指定的任务信息启动worker
4.worker
          a.查看需要执行的任务,根据任务id分辨出spout/bolt任务
          b.计算出所代表的spout/bolt会给哪些task发送信息
          c.执行spout任务或者blot任务
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值