-
第一步,创建driver的工作目录
-
第二步,下载用户上传的jar到drive的目录,并返回它在worker本地的路径,如果下载jar包的过程中出现了任何异常,那么会抛出exection异常
用Hadoop jar的Path 拿到了Hadoop配置
获取了HDFS的filesystem 创建本地目录
如果jar不存在,用hdfs拷贝到本地目录当中 -
第三步,构建ProcessBuilder
传入了driver的启动命令,需要的内存大小等信息,通过Processbuild启动drive线程
drive执行完以后,driverRunner线程会发送一个状态给worker,然后worker实际上会将DriveStateChanged消息发送给master,master会进行状态改变处理
将driver从本地缓存移除 将drive加入完成的driver队列 将driver的内存和CPU释放出来 -
fetchAndRunExecutor方法 封装一个processBuilder
重定向输出流到文件,分别定向到本地工作目录到stdout文件和stderr文件中
调用process的wait方法,启动executor进程
executor执行完之后拿到返回状态
想executorRunner线程所属的worker actor,发送executorStateChange消息
worker的一般工作流程
最新推荐文章于 2021-06-23 08:12:15 发布