JStorm源码分析(七)Excutor启动和创建

JStorm源码分析(七):Excutor启动和创建

JStorm源码分析文件

对于整个JStorm源码分析系列,我将JStorm源码分析的文件放在我的GitHub上JStorm源码剖析,欢迎大家fork和star

Executor的创建与启动是在Worker的execute()方法中完成的。

1.在我们启动Worker时,调用Worker的mk_worker()方法,mk_worker方法创建Worker实例,并调 用worker的execute()方法。

JStorm源码分析(七)Excutor启动和创建

JStorm源码分析(七)Excutor启动和创建

2.调用createTasks()方法,用来创建Task
JStorm源码分析(七)Excutor启动和创建

3.创建并启动Task线程,Task执行的任务在其run()方法中执行。
JStorm源码分析(七)Excutor启动和创建

4.在Task的run()方法中调用自己的execute()方法,执行Task任务。

JStorm源码分析(七)Excutor启动和创建

5.在Task的execute()方法中,首先调用mkTaskSending()方法,获得一个Tuple的发送对象。

JStorm源码分析(七)Excutor启动和创建

6.创建对应类型的Executor,并在Executor中实现数据的发送与业务逻辑的处理。

JStorm源码分析(七)Excutor启动和创建

调用mkExecutor()方法,创建Executor。

JStorm源码分析(七)Excutor启动和创建

至此,Executor已经创建并启动。

相关系列文章

JStorm源码分析(一)Storm执行脚本

JStorm源码分析(二)Storm任务提交流程

JStorm源码分析(三)Nimbus的任务分配过程

JStorm源码分析(四)Storm集群启动过程

JStorm源码分析(五)Supervisor获取任务

JStorm源码分析(六)Supervisor启动Worker的过程

微信公众号

有兴趣的同学可以关注小编哟!
JStorm源码分析(七)Excutor启动和创建