Apache storm storm程序的执行流程
我在暴风雨中是新手,试图了解不同方法的执行流程,从Apache storm storm程序的执行流程,apache-storm,Apache Storm,我在暴风雨中是新手,试图了解不同方法的执行流程,从spoot到bolt。 Like Spoot有不同的方法,如 nextTuple() 开() declareOutputFields() 激活() 停用() 博尔特也有类似的方法 准备() 执行() 清理() declareOutputFields() 那么有谁能告诉我这些方法的执行顺序吗?首先,当您的拓扑启动时 创建喷口和螺栓 declareoutput字段 喷嘴/螺栓序列化并分配给工人 第二,在集群上某个位置的每个worker中 喷嘴打开和螺
spoot
到bolt
。
Like Spoot有不同的方法,如
nextTuple()
开()
declareOutputFields()
激活()
停用()
博尔特也有类似的方法
准备()
执行()
清理()
declareOutputFields()
那么有谁能告诉我这些方法的执行顺序吗?首先,当您的拓扑启动时
declareoutput字段
打开
和螺栓准备
(发生一次)- 停止调用
,ack
和fail
nextTuple
- 螺栓调用
execute
如果您的拓扑已停用
- 将调用您的spouts
方法。再次激活拓扑时,将调用deactivate
activate
- 喷口可能已调用
关闭
- 螺栓可能会调用
清理
谢谢你的回答。如果您能帮忙,我还有一个问题-当我终止拓扑时,不会调用cleanup方法,因为我在集群模式下运行,所以如果我想在终止拓扑后执行代码,我可以在哪里编写代码?到目前为止,我还没有找到在终止拓扑时执行代码的好方法。我曾想过尝试使用zookeeper添加一个“优雅的关机”机制,但到目前为止还没有时间去做。如果你能找到工作,我会感兴趣的!