现在的位置: 首页 > 综合 > 正文

数学之路-分布式计算-storm(1)

2017年09月27日 ⁄ 综合 ⁄ 共 1023字 ⁄ 字号 评论关闭

        一个storm集群和hadoop集群相似,然而,hadoop集群可运行mapreduce jobs,而在storm中,运行topologies(拓扑),mapreduce jobs(作业)和topologies是不同的:

一个关键的不同在于mapreduce job最终会完成,而topolopy将永远在处理消息(你可以人为终止它)。

      有2种storm集群的结点:主节点和工作结点。主结点运行一个守护者,称为“nimbus”(灵光),它与hadoop的JobTracker类似,Nimbus负责在集群中分发代码,将任务委派给机器,监控其失败。

      每个工作结点运行一个守护者,叫“supervisor”(监督者),监督者 监听安排在本机中的工作(work),在必要时,基于nimbus的委派启动和停止worker(工作)进程,每个工作进程执行一部分topolgy,一个运行中的topology由分布在多台计算机上的多个工作进程组成。

      

本博客所有内容是原创,如果转载请注明来源

http://blog.csdn.net/myhaspl/

storm的核心由以下部分组成:
1、topology(拓扑)
 一个topology是一个图的计算,用户在一个topolopy的每个节点包括处理逻辑,节点之间的 链接显示数据是如何在节点间传递,topology运行很简单。
2、stream(流)
stream是storm的核心抽象,一个stream是一个无限tuple序列,tuple可以包含整型、长整型等数值型以及布尔型和字节数组。可定义序列 化器在本机tuple中使用自定义的类型。
3、spout(喷口)
spout是topology流的来源,一般spout从外部来源读取tuple,提交到topology。
4、Bolt(螺栓)
topology的所有处理在Bolt中完成,Bolt可完成过滤、业务处理、连接运算、连接、访问数据库等业务,并可做简单流转换。
5、stream grouping(流分组)
流分组在Bolt的任务中定义流应如何分区。
6、task(任务)
每个spout或Bolt在集群中执行许多任务,每个任务对应于一个线程的执行,流分组定义了如何从一个任务集到另一个任务集,发送tuple。
7、worker(工作进程)
topology跨一个或多个worker节点的过程执行,每个worker节点的进程是一个物理的jvm和topology执行所任务的一个子集。


抱歉!评论已关闭.