![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
storm
文章平均质量分 64
benbendy1984
这个作者很懒,什么都没留下…
展开
-
jstorm源码分析:提交任务过程
submitTopologyWithOpts(ServiceHandler)1 首先是校验任务的名称是否合法 if (!Common.charValidate(topologyName)) { throw new InvalidTopologyException(topologyName + " is not a valid topology name"原创 2016-03-17 23:03:03 · 3272 阅读 · 0 评论 -
jstorm源码分析:work管理
管理work前面已经知道了,通过SyncProcessEvent 可以从zookeeper上获取分配到一台机器的任务信息,那么有了这些信息,我们能干什么呢?接下来我们就来揭开SyncProcessEvent的面纱主要成员private LocalState localState; 本地状态,主要是本地所有的work状态信息,包括心跳检测信息等 private Map入口整个入口还是在我们的ru原创 2016-05-31 08:57:15 · 2445 阅读 · 0 评论 -
jstorm源码分析:任务领取
任务领取每个jstorm的工作机器会定时的扫面zookeeper的任务分配的目录,看是否有自己的任务,如果有,那么把对应的信息写到本地机器的制定目录中,这个工作主要是有SyncSupervisorEvent 线程中的run方法来完成的,我们主要来分析这个函数 @Override public void run() { LOG.debug("Synchronizing原创 2016-05-22 00:17:25 · 2924 阅读 · 0 评论 -
jstorm源码分析: nimbus
nimbustopologyAssign准备工作分配worker和task信息写入nimbus里面有很重要的成员的topologyAssigntopologyAssign这个类实现了Runnable, 在里面通过创建thread并通过start()启动了线程public class TopologyAssign implements Runnable {那么我们可以直接看他的run函数 p原创 2016-09-25 22:57:02 · 2276 阅读 · 0 评论 -
jstorm 源码分析: supervisor
定位supervisor在整个jstorm集群中主要是作用类似一个小管家:管理一台机器上的任务,包括从zookeeper上来负责领取任务、管理本机上的work、汇报本机信息到zookeeper上结构整体结构比较简单 private final String hostName; //机器的名称 private final String supervisorI原创 2016-10-01 23:24:01 · 1646 阅读 · 0 评论 -
jstorm源码分析: zookeeper
作用zookeeper在整个系统中主要用户各个角色信息传递的中介,所以里面存了不少的信息信息我们只要打开zookeeper目录,可以看到很多的信息,下面一一介绍supervisors这里存放了集群中所有的supervisor的信息, 具体保存时候按照supervisor_id为目录名保存,具体的信息使用SupervisorInfo类进行保存,如下 private static final lon原创 2016-10-16 21:36:36 · 1561 阅读 · 0 评论