风暴计划的执行流程

u12*_*345 5 apache-storm

我在暴风雨是新的,并试图了解不同的方法执行从流量spoutbolt.像鲸鱼喷水有不同的方法

nextTuple()

打开()

declareOutputFields()

启用()

关闭()

和bolt有类似的方法

准备()

执行()

清理(​​)

declareOutputFields()

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

Kit*_*nke 12

首先,当你的拓扑开始时......

  1. 创建喷口和螺栓
  2. declareOutputFields
  3. 喷嘴/螺栓序列化并分配给工人

其次,在群集中的每个工作人员......

  1. 喷嘴open和螺栓prepare(发生一次)
  2. 循环......
    • 喷口打电话ack,failnextTuple
    • 螺栓叫 execute

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

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

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

  • Spouts 可能已经close打过电话
  • 螺栓可能已经cleanup打过电话

注意:

没有保证关闭将被调用,因为主管杀死了-9的集群上的工作进程.资源