spark源码(十一)Worker receive 总结

onstart revice方法总结

    onstart
        1.启动定时发送 向自己 ReregisterWithMaster(一直运行)
        2.启动多线程 向master RegisterWorker
    msg: RegisterWorkerResponse 
        1.更新master  向自己 SendHeartbeat(一直运行)
        2.向自己 WorkDirCleanup (一直运行)
        3.向master WorkerLatestState 
    SendHeartbeat
        向master Heartbeat 
    WorkDirCleanup
        删除资源文件和 shuffleService.executorRemoved 文件
    MasterChanged
        只是被动接受消息,之更改自身的变量属性即可
    ReconnectWorker
        1.启动定时发送 向自己 ReregisterWithMaster(一直运行)
        2.启动多线程 向master RegisterWorker
    LaunchExecutor
        1.创建资源文件夹 修改资源总数
        2.向自己 ExecutorStateChanged //成功 失败 
        3.向master ExecutorStateChanged //失败的消息
    executorStateChanged: ExecutorStateChanged
        判断状态 调用 shuffleService.executorRemoved 服务
    KillExecutor(masterUrl, appId, execId)
        杀任务  但是没有找到回收资源代码 coresUsed memoryUsed 操作变量
    LaunchDriver(driverId, driverDesc, resources_)
        1.操作资源变量、资源文件、java参数、自定义参数
        2.向自己 DriverStateChanged 
    KillDriver(driverId)
        杀任务  但是没有找到回收资源代码 coresUsed memoryUsed 操作变量
    driverStateChanged @ DriverStateChanged(driverId, state, exception)
        1.操作资源变量
        2.回收资源
    ReregisterWithMaster
        1. 向master RegisterWorker 
        2.定时调用自己
    ApplicationFinished(id)
        executorStateChanged
    DecommissionWorker
        更改自己的状态
    WorkerSigPWRReceived
        1.DecommissionWorker
        2.向master WorkerDecommissioning //自己失联消息

有一个猜测:
KillExecutor KillDriver 之前或者以后都会调用 executorStateChanged driverStateChanged
以便更改资源变量

posted @ 2022-09-12 23:58  Kotlin  阅读(24)  评论(0编辑  收藏  举报
Live2D