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 @   Kotlin  阅读(24)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
Live2D
点击右上角即可分享
微信分享提示
西雅图
14:14发布
西雅图
14:14发布
4°
东南风
2级
空气质量
相对湿度
92%
今天
3°/12°
周四
4°/11°
周五
2°/10°