spark 各计算Endpoint 节点rpc消息 和 节点间的消息交互
master::RpcMessage
RequestSubmitDriver RequestKillDriver RequestDriverStatus DriverStateChanged RequestExecutors KillExecutors RequestMasterState ElectedLeader CompleteRecovery
worker:: OneWayMessage
MasterChanged LaunchDriver driverStateChanged KillDriver LaunchExecutor executorStateChanged ReconnectWorker KillExecutor
worker:: RpcMessage
RequestWorkerState:WebUI返回worker状态
CoarseGrainedSchedulerBackend:OneWayMessage
ReviveOffers KillTask
CoarseGrainedExecutorBackend:OneWayMessage
RegisteredExecutor LaunchTask KillTask StopExecutor Shutdown
消息交互
client $baseContext/create/ --> master::RequestSubmitDriver --> worker::LaunchDriver + worker::LaunchExecutor client $baseContext/kill/ --> master::RequestKillDriver --> worker::KillDriver DAGScheduler.submitMissingTasks --> TaskScheduler.submitTasks --> CoarseGrainedSchedulerBackend::ReviveOffers --> CoarseGrainedExecutorBackend::LaunchTask driverRunner 执行完后, 发送DriverStateChanged --> worker, worker 发给master, 如果失败master schedule 重新调度driver master.ZooKeeperLeaderElectionAgent.electedLeader (PersistenceEngine恢复driver, worker, appInfo )--> worker::MasterChanged master::CompleteRecovery master重新选举后, 重新调度schedule driver, workers



