nimbus
来源:互联网 发布:老虎证券 美金 知乎 编辑:程序博客网 时间:2024/06/14 13:31
nimbus是master节点,supervise是worker节点。
在tstorm中,nimbus负责在集群中代码的分发,topology只能提在nimbus上提交将任务分配给其他的机器,同时还会检测整个集群,是一个守护进程。
supervise监听分配给它的节点,根据nimbus的分配去启动或者关闭工作进程。每个工作进程执行topology的一个子集,一个运行中的topology是由许多的运行在好多机器上的工作进程组成。
在storm中,有对流进行一个抽象,流是一个不间断的无边界的连续topology。多个tuple流向bolt,当bolt处理完成后继续向下流到下一个bolt.
storm认为每个流都有一个源头,这个源头抽象为spout(喷头),处理strem中的tuple被称为bolt,bolt可以消费任意数量的流。只要将流方向导向该流。同时也可以把处理后的流发送到其他的bolt.
tuple:一个tuple就是一个map,键值对的形式,但是由于strem在传递流向的时候,指定了其中的id,所以tuple内部的结够也就变成了一个值的列表。list.该list中的每一个value都有name,并且该value是可以任意序列话的类型。拓扑中的每个节点都需要说明它所发射的元组的name,其他bolt只需要进行订阅就可以去接受它所发出的流。
spout:消息源(接收数据的处理着,从db中得到数据然后传到topo,理解为数据的生产者)。
spout中的主要方法nextTuple()不断的发射tuple到topo,storm在检测到一个tuple被整个topo成功的处理掉的时候调用ack(),否则调用fail().
bolt:消息的处理,例如操作数据库,具体的逻辑运算等。bolt的主要方法execute();(死循环),连续处理传进来的tuple,成功处理完每一个tuple后调用outputCOntrollor的ack(),通知storm这个方法被执行完成了,执行失败的时候也可以调用fail()通知storm去从新发送数据。
bolt中的流程:当一个tuple被传进来后,bolt进行处理,然后调用ack方法去通知storm自己已经处理过这个tuple了,storm提供了一个IBaseBolt会自动的执行ack().Bolt使用outputControllor来发射tuple到下一个Bolt.
- nimbus
- storm启动nimbus源码分析-nimbus.clj
- netbeans 6.5 与Nimbus
- Netbeans用Nimbus风格
- Nimbus Defaults & WebLookAndFeel
- storm-nimbus-hdfs
- Storm nimbus总结
- JStorm之Nimbus简介
- strom之nimbus
- cocoapods导入Nimbus库报错
- JStorm之Nimbus简介
- storm之nimbus作用
- jstorm源码分析: nimbus
- storm -- nimbus解读
- storm nimbus : stormconf.ser' does not exist nimbus 解决办法
- Storm源码分析--Nimbus-data
- [转]JStorm之Nimbus简介
- 让netbeans 6.1使用nimbus主题
- opencv矩阵运算(2)
- C# Excel导出
- [NOI 2014复习]斜率优化(BZOJ 1096、BZOJ 1010)
- 小贝_mysql 存储引擎及事务概念
- 为什么和不优质的女人打交道意味着压抑和斗争
- nimbus
- Android视图绘制流程完全解析
- JAVA基础之面向对象(个人学习笔记,更新修改中)
- linux下安装boost
- 那些年不可错过的xcode插件
- POJ-1007
- 94 cigarettes
- LeetCode 1 Two Sum 排序后快速求解
- 自动编译工具