spark源码(五)Master recive方法总结

一.Master recive方法总结

1.1 公共方法介绍及发送的消息介绍
    schedule():方法很重要,基本上所有的方法都会调用这个
        launchDriver()
        launchExecutor()
        allworker.send(LaunchDriver)  worker.send(LaunchExecutor)  driver.send(ExecutorAdded)
    registerApplication:
        添加app相关资源,但是没有executor 和driver操作
    registerWorker:
        添加worker相关资源
        removeWorker()
        all:
        driver.send(ExecutorUpdated)  driver.send(WorkerRemoved)
        worker.send(LaunchDriverworker.send(LaunchExecutor)  driver.send(ExecutorAdded)
    removeWorker():
        driver.send(ExecutorUpdated)
        driver.send(WorkerRemoved)
        removeExecutor()
        removeDriver()
        schedule()
        all:
        driver.send(ExecutorUpdated)  driver.send(WorkerRemoved)  
        worker.send(LaunchDriver)  worker.send(LaunchExecutor)  driver.send(ExecutorAdded)
    removeExecutor():
        移除对应executord对应资源
    removeDriver():
        移除对应driver对应资源
        schedule()
        all:
        worker.send(LaunchDriver)  worker.send(LaunchExecutor)  driver.send(ExecutorAdded)
    removeApplication()
        app的相关操作
        killExecutor()
        driver.send(ApplicationRemoved)
        schedule
        worker.send(ApplicationFinished)
        all:
        driver.send(ApplicationRemoved)  worker.send(ApplicationFinished)
        worker.send(LaunchDriver)  worker.send(LaunchExecutor)  driver.send(ExecutorAdded)
    launchDriver():
        添加对应driver资源
        worker.send(LaunchDriver)
    launchExecutor()
        worker.send(LaunchExecutor)
        driver.send(ExecutorAdded)
    relaunchDriver():
        removeDriver()
        schedule()
        all:
        worker.send(LaunchDriver)  worker.send(LaunchExecutor)  driver.send(ExecutorAdded)
1.2 revice方法总结

每一个方法都有自己的一个对应的消息,但是最后都是会调用schedule方法
完成LaunchDriver LaunchExecutor ExecutorAdded

    ElectedLeader: 内部调用 CompleteRecovery
        registerApplication()
        registerWorker()
        all:
        driver.send(ExecutorUpdated)  driver.send(WorkerRemoved)
        worker.send(LaunchDriverworker.send(LaunchExecutor)  driver.send(ExecutorAdded)
    CompleteRecovery:
        relaunchDriver()
        removeDriver()
        schedule()
        all:
        worker.send(LaunchDriver)  worker.send(LaunchExecutor)  driver.send(ExecutorAdded)
    WorkerDecommissioning:
        worker.send(MasterInStandby)
    DecommissionWorkers:
        worker.send(DecommissionWorker)
    RegisterWorker:
        worker.send(MasterInStandby)
        worker.send(RegisteredWorker)
        registerWorker()
        worker.send(RegisteredWorker)
        worker.send(RegisterWorkerFailed)
        all:
        driver.send(ExecutorUpdated)  driver.send(WorkerRemoved)
        worker.send(LaunchDriverworker.send(LaunchExecutor)  driver.send(ExecutorAdded)
        worker.send(MasterInStandby)  worker.send(RegisteredWorker)  worker.send(RegisterWorkerFailed)
    RegisterApplication:
        registerApplication()
        driver.send(RegisteredApplication)
        all:
        driver.send(ExecutorUpdated)  driver.send(WorkerRemoved)
        worker.send(LaunchDriverworker.send(LaunchExecutor)  driver.send(ExecutorAdded)
        driver.send(RegisteredApplication)
    ExecutorStateChanged:
        driver.send(ExecutorUpdated)
        removeExecutor()
        removeApplication()
        schedule()
        all:
        driver.send(ApplicationRemoved)  worker.send(ApplicationFinished)
        worker.send(LaunchDriver)  worker.send(LaunchExecutor)  driver.send(ExecutorAdded)
    DriverStateChanged:
        removeDriver()
        all:
        worker.send(LaunchDriver)  worker.send(LaunchExecutor)  driver.send(ExecutorAdded)
    Heartbeat:
        worker.send(ReconnectWorker)
    MasterChangeAcknowledged:
        completeRecovery()
        all:
        worker.send(LaunchDriver)  worker.send(LaunchExecutor)  driver.send(ExecutorAdded)
    WorkerSchedulerStateResponse:
        app driver executor操作
        completeRecovery()
        all:
        worker.send(LaunchDriver)  worker.send(LaunchExecutor)  driver.send(ExecutorAdded)
    WorkerLatestState:
        worker.send(KillExecutor)
        worker.send(KillDriver)
    UnregisterApplication:
        removeApplication()
        all:
        driver.send(ApplicationRemoved)  worker.send(ApplicationFinished)
        worker.send(LaunchDriver)  worker.send(LaunchExecutor)  driver.send(ExecutorAdded)
    CheckForWorkerTimeOut:
        removeWorker()
        all:
        driver.send(ExecutorUpdated)  driver.send(WorkerRemoved)  
        worker.send(LaunchDriver)  worker.send(LaunchExecutor)  driver.send(ExecutorAdded)
posted @ 2022-09-12 09:45  Kotlin  阅读(40)  评论(0)    收藏  举报
Live2D