Storm中Spout和Bolt的生命周期
来源:互联网 发布:sql语句优化方法 编辑:程序博客网 时间:2024/06/06 00:01
1、在定义Topology实例过程中,定义好Spout实例和Bolt实例
2、在提交Topology实例给Nimbus的过程中,会调用TopologyBuilder实例的createTopology()方法,以获取定义的Topology实例。在运行createTopology()方法的过程中,会去调用Spout和Bolt实例上的declareOutputFields()方法和getComponentConfiguration()方法,declareOutputFields()方法配置Spout和Bolt实例的输出,getComponentConfiguration()方法输出特定于Spout和Bolt实例的配置参数值对。Storm会将以上过程中得到的实例,输出配置和配置参数值对等数据序列化,然后传递给Nimbus。
3、在Worker Node上运行的thread,从Nimbus上复制序列化后得到的字节码文件,从中反序列化得到Spout和Bolt实例,实例的输出配置和实例的配置参数值对等数据,在thread中Spout和Bolt实例的declareOutputFields()和getComponentConfiguration()不会再运行。
4、在thread中,反序列化得到一个Bolt实例后,它会先运行Bolt实例的prepare()方法,在这个方法调用中,需要传入一个OutputCollector实例,后面使用该OutputCollector实例输出Tuple
5、接下来在该thread中按照配置数量建立task集合,然后在每个task中就会循环调用thread所持有Bolt实例的execute()方法
6、在关闭一个thread时,thread所持有的Bolt实例会调用cleanup()方法
不过如果是强制关闭,这个cleanup()方法有可能不会被调用到
2、在提交Topology实例给Nimbus的过程中,会调用TopologyBuilder实例的createTopology()方法,以获取定义的Topology实例。在运行createTopology()方法的过程中,会去调用Spout和Bolt实例上的declareOutputFields()方法和getComponentConfiguration()方法,declareOutputFields()方法配置Spout和Bolt实例的输出,getComponentConfiguration()方法输出特定于Spout和Bolt实例的配置参数值对。Storm会将以上过程中得到的实例,输出配置和配置参数值对等数据序列化,然后传递给Nimbus。
3、在Worker Node上运行的thread,从Nimbus上复制序列化后得到的字节码文件,从中反序列化得到Spout和Bolt实例,实例的输出配置和实例的配置参数值对等数据,在thread中Spout和Bolt实例的declareOutputFields()和getComponentConfiguration()不会再运行。
4、在thread中,反序列化得到一个Bolt实例后,它会先运行Bolt实例的prepare()方法,在这个方法调用中,需要传入一个OutputCollector实例,后面使用该OutputCollector实例输出Tuple
5、接下来在该thread中按照配置数量建立task集合,然后在每个task中就会循环调用thread所持有Bolt实例的execute()方法
6、在关闭一个thread时,thread所持有的Bolt实例会调用cleanup()方法
不过如果是强制关闭,这个cleanup()方法有可能不会被调用到
0 0
- Storm中Spout和Bolt的生命周期
- Storm bolt/spout生命周期
- Storm的Spout和Bolt中的方法
- storm中supervisor, task, worker, spout, bolt之间的关系
- (大数据之storm)strom中worker、task、spout/bolt、executor、component的关系
- Storm 提交拓扑后UI中spout、bolt的Num都显示为0
- Storm——spout,bolt
- storm spout,bolt超时处理和fail处理
- 一个bolt接收spout和另一个bolt的tuple
- Storm之Spout、Bolt、Topology组件
- strom中worker、task、spout/bolt、executor、component的关系
- strom中worker、task、spout/bolt、executor、component的关系
- strom中worker、task、spout/bolt、executor、component的关系
- Storm中的process,thread,task和spout对象实例,bolt对象实例
- Storm有关worker、task、spout/bolt、executor、component之间的关系
- Storm应用系列之——Spout、Bolt API
- Storm拓扑,组件之spout、bolt,并行策略
- Storm应用系列之——Spout、Bolt API
- Android中全屏设置
- Android Gradle plugin 0.7.0: “duplicate files during packaging of APK”
- 上周末没事写了一个UDP的例子 大家感兴趣的可以参考一下
- Android官方开发文档Training系列课程中文版:管理音频播放之管理音频焦点
- 进制转换
- Storm中Spout和Bolt的生命周期
- FZU 2093 寻找兔子 (状态压缩dp)
- 友盟社会化分享
- 在无头单链表的一个非头节点前插入一个节点(C语言)
- hdoj 3371 Connect the Cities
- Late binding
- 【问题解决】使用spring后对一个业务逻辑的不同请求,返回相同结果
- Vijos P1130数的计数【模拟】
- POJ 1087最大流