风暴计划的执行流程

时间:2015-03-11 07:55:21

标签: apache-storm

我是风暴中的新手,并试图了解从spoutbolt的不同方法的执行流程。 像spout有不同的方法,如

  

nextTuple()

     

开()

     

declareOutputFields()

     

激活()

     

去激活()

和bolt有像

这样的方法
  

制备()

     

执行()

     

清理()

     

declareOutputFields()

那么有人能告诉我这些方法的执行顺序吗?

1 个答案:

答案 0 :(得分:12)

首先,当您启动拓扑时......

  1. 创建喷口和螺栓
  2. declareOutputFields
  3. Spouts / Bolts序列化并分配给工人
  4. 其次,在集群中某个地方的每个工人......

    1. Spouts open和Bolts prepare(发生一次)
    2. 在循环中......
      • Spouts致电ackfailnextTuple
      • 螺栓拨打execute

    3. 如果您的拓扑已停用...

      • 将调用您的spouts deactivate方法。再次激活拓扑时,将调用activate

      如果你的拓扑被杀了......

      • Spouts 可能会 close调用
      • 螺栓可能 cleanup调用

      注意:

        

      没有保证关闭会被叫,因为   主管杀死集群上的-9工作进程。 source