JStorm中的并行( parallelismction )介绍

JStorm中的并行( parallelismction )介绍

JStrom中。一个计算任务通过多台机器使得计算分解为多个独立并行执行在集群内执行的任务(tasks)。从而得到水平扩展。

JStorm中,一个任务(task)就是一个能够执行在集群内不论什么节点的一个spout或一个bolt实例。


 要了解这个并行怎样工作的。我们首先要了解在JSorm集群内运行一个拓扑所涉及到的4个重要概念:
 

 - 节点(Nodes)/机器(machines):一个JStorm集群包括一到多个节点,这个节点执行一个work。


 - Workers(JVMs):这些是执行在一个节点的独立的JVM进程。

每一个节点能够配置执行一个到多个workers,即多少个JVM进程。


 - Executors(threads):这是执行在一个worker JVM进程的java线程。

Strom中,多个tasks能够执行在一个线程中。

假设没有覆盖相关配置,Strom会一个task一个线程。JStrom中,一个task一个线程。和Storm不一样了。


 - Tasks(bolt/spout实例):Tasks是spouts和bolts的实例,实例方法中的
 nextTuple()和execute()方法会被线程调用。


 


----------

----------

配置拓扑的workers

=======

一个拓扑(topology)能够配置多个workers(jvm进程),配置方式:

 

    

> Config config = new Config();
config.setNumWorkers(2);

上面的配置,我们设置了2个workers。默认配置是1,所以我们通常会配置这个參数,以合理利用集群资源。


 
 

Jstorm 的组成(The Components of Jstorm)

=======

 
在Jstorm集群中,集群节点分为两类:主控节点(master node ) 和工作节点(worker nodes)。



主控节点执行者一个守护进程(daemon)称之为Nimbus,它主要负责向集群其他工作节点(worker nodes)分发提交来的代码及分配任务(tasks)。而且监视者每一个任务的成功与失败。

工作节点(worker nodes)也执行者一个守护进程(daemon)称之为Supervisor。它执行一个拓扑(topology)的一部分。

在Jstorm中,一个拓扑(topology)执行在非常多机器上的很多工作节点(worker nodes)上。
Jstorm中各节点被设计成无状态的,而它们组成的集群状态被保存在Zookeeper集群上。所以这些节点能够失败或重新启动而不影响整个系统的健康执行。

Nimbus  --->  Zookeeper --->  Supervisor

相关 博文:JStorm中消息确保处理机制 http://blog.csdn.net/doctor_who2004/article/details/47710331

 JStorm/Strom配置executors和tasks(线程和实例) http://blog.csdn.net/doctor_who2004/article/details/47709945

转载于:https://www.cnblogs.com/yutingliuyl/p/6915994.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值