【Spark2.0源碼學習】-4.Master啓動

     Master做爲Endpoint的具體實例,下面咱們介紹一下Master啓動以及OnStart指令後的相關工做
 
1、腳本概覽
     下面是一個舉例:
/opt/jdk1.7.0_79/bin/java
-cp /opt/spark-2.1.0/conf/:/opt/spark-2.1.0/jars/*:/opt/hadoop-2.6.4/etc/hadoop/
-Xmx1g
-XX:MaxPermSize=256m
org.apache.spark.deploy.master.Master
--host zqh
--port 7077
--webui-port 8080
 
2、啓動流程
     Master的啓動流程以下:
     
  • SparkConf:加載key以spark.開頭的系統屬性(Utils.getSystemProperties)
  • MasterArguments:
    • 解析Master啓動的參數(--ip -i --host -h --port -p --webui-port  --properties-file)
    • 將--properties-file(沒有配置默認爲conf/spark-defaults.conf)中spark.開頭的配置存入SparkConf
  • NettyRpcEnv中的內部處理遵循RpcEndpoint統一處理,這裏再也不贅述
  • BoundPortsResponse返回rpcEndpointPort,webUIPort,restPort真實端口
  • 最終守護進程會一直存在等待結束信awaitTermination

3、OnStart監聽事件
     Master的啓動完成後異步執行工做以下:
     
  • 【dispatcher-event-loop】線程掃描到OnStart指令後會啓動相關MasterWebUI(默認端口8080),根據配置選擇安裝ResetServer(默認端口6066)
  • 另外新起【master-forward-message-thread】線程按期進行worker心跳是否超時
  • 若是Worker心跳檢測超時,那麼對Worker下的發佈的全部任務所屬Driver進行ExecutorUpdated發送,同時本身在從新LaunchDriver
 
4、RpcMessage處理 (receiveAndReply)
 
消息實例 發起方 接收方 說明
RequestSubmitDriver Client Master 提交驅動程序
RequestKillDriver Client Master  
RequestDriverStatus Client Master  
RequestMasterState MasterWebUI Master  
BoundPortsRequest Master Master  
RequestExecutors StandaloneAppClient Master  
KillExecutors   StandaloneAppClient Master  
 
5、OneWayMessage 處理 (receive)
消息實例 發起方 接收方 說明
ElectedLeader Master Master  
CompleteRecovery Master Master  
RevokedLeadership Master Master  
RegisterWorker Worker Master  
RegisterApplication StandaloneAppClient Master  
UnregisterApplication StandaloneAppClient Master  
ExecutorStateChanged Worker/ExecutorRunner Master  
DriverStateChanged DriverRunner/Master Master  
Heartbeat Worker Master  
MasterChangeAcknowledged StandaloneAppClient Master  
WorkerSchedulerStateResponse Worker Master  
WorkerLatestState Worker Master  
CheckForWorkerTimeOut Master Master  
 
5、Master對 RpcMessage/ OneWayMessage處理邏輯(選讀)
     這部分對總體Master理解做用不是很大且理解比較抽象,能夠先讀後續內容,回頭再考慮看這部份內容,或者不讀
  

 

相關文章
相關標籤/搜索