实时计算
__海盗__
山寨程序猿
展开
-
JStorm之NimbusServer启动流程
NimbusServer相当于hadoop里的JobTracker或yarn里的ResourceManager,在集群中属于首脑地位,负责分发任务,监控集群状态,与supervisor的通信主要通过Zookeeper。nimbus在启动过程中会做以下工作,以保证集群稳定运行:1、清理无效topology2、建立zk连接并创建相应znode3、启动监控线程4、启动httpserver原创 2015-01-13 15:26:57 · 2597 阅读 · 0 评论 -
JStorm之Supervisor启动流程
Supervisor中文翻译是监督者,意思简单明了,就是对资源进行监控,其实主要是woker资源。该组件所做的事情概括如下: 1、每隔一段时间发送心跳证明自己还活着 2、下载新的topology 3、释放无效的woker 4、分配新的任务 该组件主要包含:心跳线程、supervisor事件接受线程、处理线程,一旦事件接受到则会进入任务分配环节,主要逻辑原创 2015-01-14 16:18:13 · 3945 阅读 · 0 评论 -
JStorm之Topology提交服务端
topology提交前会先判断集群中是否存在同名作业,如果存在在提交失败,如果没有则会增加集群提交次数SubmittedCount,每次提交成功,该变量都会加1,然后会为该作业分配一个id,生成规则如下:public static String TopologyNameToId(String topologyName, int counter) { return topologyNam原创 2015-01-16 19:25:43 · 2297 阅读 · 0 评论 -
JStorm之Woker启动流程
我们知道,在Jstorm中具体任务执行是由Woker来完成的,Woker的启动是由Supervisor组件负责,下面就介绍一个Woker的启动流程。Sueprvisor在启动后会启动一个检测任务分配的线程,该线程周期性的到Zookeeper中查询任务分配的情况,一旦有新的任务到来,就会把自己负责的Woker启动起来,当然其中具体细节还有很多,大概流程就是这样的。线程的执行体定义在Event原创 2015-03-25 18:51:15 · 4104 阅读 · 0 评论 -
JStorm之Topology调度
topology在服务端提交过程中,会经过一系列的验证和初始化:TP结构校验、创建本地目录并拷贝序列化文件jar包、生成znode用于存放TP和task等信息,最后一步才进行任务分配,如下图:提交主函数位于ServiceHandler.java中private void makeAssignment(String topologyName, String topologyId,原创 2015-03-16 19:10:23 · 2105 阅读 · 0 评论 -
JStorm之Topology提交客户端
一个topology包含一或多个spout bolt,spout负责在数据源获得数据并发送给bolt,每个bolt负责做完处理后发给下一个bolt。通常topology的创建是由TopologyBuilder来创建的,该组件会记录包含哪些spout bolt,并做相应验证:各组件是否有id冲突,校验方法如下:private void validateUnusedId(String id) {原创 2015-01-16 15:30:03 · 1741 阅读 · 0 评论 -
Spark stage切分和提交
客户端构建好RDD的DAG以后,会提交至DAGScheduler来处理,这是一个Stage级别的调度器,他首先会把作业切分为一个个Stage,每个Stage由一组相同运算的tasks组成,然后会以taskset的形式提交给TaskScheduler。DS还会跟踪stage的输出与物化情况、检测task运行时的最优位置,重新提交失败的stage。 DAGSheduler接收到J...原创 2015-11-10 19:15:21 · 1850 阅读 · 0 评论 -
Spark TaskSet提交及执行准备
一个stage是由一组相同运算的task组成,他们分别计算不同的partition,stage的提交实际是向调度器提交一组包含相同计算的task,这里调度器的名字是TaskScheduler,其调度单位是taskset,stage在提交是使用了递归算法,会先提交没有parent stage的stage,代码如下: private def submitStage(stage: Stage) {原创 2015-11-11 19:31:36 · 2171 阅读 · 0 评论