Storm中的process,thread,task和spout对象实例,bolt对象实例
来源:互联网 发布:新淘宝店如何破零销量 编辑:程序博客网 时间:2024/06/06 18:40
1、多个process共享同个spout对象实例或者bolt对象实例
2、多个thread共享同个spout对象实例或者bolt对象实例
3、多个task共享同个spout对象实例或者bolt对象实例
实际上,定义Topology实例的时候,我们定义好Spout实例和Bolt实例,然后将Topology实例提交给Nimbus的时候,这些定义好的Spout实例和Bolt实例会被“序列化”,“序列化”得到的字节码文件由Nimbus保存在Master Node上的某处,运行在Worker Node上的thread可以复制这些序列化后得到的字节码文件,从中“反序列化”得到Spout实例和Bolt实例。
具体来说就是:在定义Topology实例的时候,定义好的Spout实例和Bolt实例并不是最终的具体实例,而只是作为最终具体实例的数据来源,为了更好理解,我们可以称之为Spout原型实例和Bolt原型实例,这些原型实例被序列化保存在字节码文件中。在提交Topology实例后,在Worker Node上运行的process中的thread会复制该字节码文件,反序列化Spout原型实例和Bolt原型实例,得到最终的具体实例。在同一个thread中的多个task共享该具体实例,由于同一个thread上的多个task串行执行,因而不会出现“由于共享该具体实例而导致并发问题”的情形。关于这点,可见文章《Storm中进程,线程,任务和实例的关系》
因而,以上所说的前2种情况不成立,第3种情况论述不够准确,只有同一个thread内的多个task才共享同一个spout实例或者bolt实例,不同thread内的task不共享同一个spout实例或者bolt实例。
参考文献:
[1]http://storm.apache.org/documentation/Lifecycle-of-a-topology.html
[2]https://storm.apache.org/apidocs/backtype/storm/task/IBolt.html
[3]https://groups.google.com/forum/#!topic/storm-user/IS8PijLjU8c
[4]https://groups.google.com/forum/#!topic/storm-user/com4JfU9aJ4
- Storm中的process,thread,task和spout对象实例,bolt对象实例
- Storm的Spout和Bolt中的方法
- Storm中Spout和Bolt的生命周期
- Storm bolt/spout生命周期
- storm中supervisor, task, worker, spout, bolt之间的关系
- Storm——spout,bolt
- storm spout,bolt超时处理和fail处理
- (大数据之storm)strom中worker、task、spout/bolt、executor、component的关系
- Storm有关worker、task、spout/bolt、executor、component之间的关系
- Storm之Spout、Bolt、Topology组件
- Storm的并行度详解 Strom Topology执行分析:worker数,Bolt实例数,executor数,task数
- 一个bolt接收spout和另一个bolt的tuple
- Storm应用系列之——Spout、Bolt API
- Storm拓扑,组件之spout、bolt,并行策略
- Storm应用系列之——Spout、Bolt API
- Storm 基础 -- spout与bolt设置多重grouping
- Storm使用非java语言构建Bolt,Spout
- Kafka+Storm+HBase项目Demo(5)--topology,spout,bolt使用
- 日志框架实现实时修改,实时生效,具体框架思路(7)
- 0629笔记
- Ajax属性介绍
- OAuth 2.0系列教程(五) 授权
- 第十六周oj刷题——Problem G: E2 驾驭const
- Storm中的process,thread,task和spout对象实例,bolt对象实例
- 输入一串字符,输出单词的个数
- Java - Why wait notify and notifyAll called from synchronized block or method in Java
- [日志处理工作之四]从flume采集的event中提取能被kibana识别的时间戳 and 对比flume与logstash
- SAE稀疏编码机
- 应用退出
- 排序算法笔记
- ant+junit 测试一
- Android 混淆代码总结