提交Application的兩種方式

weixin_33686714發表於2017-12-31

一.提交Application的兩種方式分別是client方式和cluster方式
1.client方式
這種方式,Driver程式是在client端啟動
啟動程式碼樣例

spark -submit --master spark://hadoop1:7077 --class jarPath 

2.cluster方式
這種當時Driver程式不在client端啟動,而是在及群眾隨機一個Worker節點上啟動
啟動程式碼樣例

spark -submit --master spark://hadoop1:7077 --deploy -mode cluster --class jarPath

二.為什麼要有兩種提交方式
client用於測試環境不適於生產環境
原因:測試時在客戶端上可以提交jar包也可以看到執行的結果。但是頻繁提交應用程式會與叢集會有大量的通訊,佔用網路卡流量,所以不適於在生產環境應用。

cluster用於生產環境不適用於測試環境
原因:每次提交程式會隨機選擇一個Worker節點,這樣網路卡流量集中的問及就解決了。

三.Driver程式與Spark叢集的通訊種類
1.申請資源
2.Executor啟動完畢後,會向Driver反向註冊
3.Driver在分發task的時候
4.Executor程式與Driver程式有心跳機制(順便說一下,在Spark叢集中的心跳是Worker向Master傳送)

相關文章