spark 各计算Endpoint 节点rpc消息 和 节点间的消息交互
master::RpcMessage
RequestSubmitDriverRequestKillDriverRequestDriverStatusDriverStateChangedRequestExecutorsKillExecutorsRequestMasterStateElectedLeaderCompleteRecovery
worker:: OneWayMessage
MasterChangedLaunchDriverdriverStateChangedKillDriverLaunchExecutorexecutorStateChangedReconnectWorkerKillExecutor
worker:: RpcMessage
RequestWorkerState:WebUI返回worker状态
CoarseGrainedSchedulerBackend:OneWayMessage
ReviveOffersKillTask
CoarseGrainedExecutorBackend:OneWayMessage
RegisteredExecutorLaunchTaskKillTaskStopExecutorShutdown
消息交互
client $baseContext/create/ --> master::RequestSubmitDriver --> worker::LaunchDriver + worker::LaunchExecutorclient $baseContext/kill/ --> master::RequestKillDriver --> worker::KillDriverDAGScheduler.submitMissingTasks --> TaskScheduler.submitTasks --> CoarseGrainedSchedulerBackend::ReviveOffers --> CoarseGrainedExecutorBackend::LaunchTaskdriverRunner 执行完后, 发送DriverStateChanged --> worker, worker 发给master, 如果失败master schedule 重新调度drivermaster.ZooKeeperLeaderElectionAgent.electedLeader (PersistenceEngine恢复driver, worker, appInfo )--> worker::MasterChangedmaster::CompleteRecovery master重新选举后, 重新调度schedule driver, workers