worker的一般工作流程

  1. 第一步,创建driver的工作目录

  2. 第二步,下载用户上传的jar到drive的目录,并返回它在worker本地的路径,如果下载jar包的过程中出现了任何异常,那么会抛出exection异常

    用Hadoop jar的Path 拿到了Hadoop配置
    获取了HDFS的filesystem 创建本地目录
    如果jar不存在,用hdfs拷贝到本地目录当中

  3. 第三步,构建ProcessBuilder
    传入了driver的启动命令,需要的内存大小等信息,通过Processbuild启动drive线程
    drive执行完以后,driverRunner线程会发送一个状态给worker,然后worker实际上会将DriveStateChanged消息发送给master,master会进行状态改变处理
    将driver从本地缓存移除 将drive加入完成的driver队列 将driver的内存和CPU释放出来

  4. fetchAndRunExecutor方法 封装一个processBuilder
    重定向输出流到文件,分别定向到本地工作目录到stdout文件和stderr文件中
    调用process的wait方法,启动executor进程
    executor执行完之后拿到返回状态
    想executorRunner线程所属的worker actor,发送executorStateChange消息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值