我們公司用的是Yarn管理的所有資源,也就是yarn-cluster模式
博客如果有些地方理解的不對,歡迎大家指出,共同交流進步
任務提交流程
下面兩個圖你看哪個看着更習慣,大家可以看看熟悉這個流程
以流程圖表示
從上述時序圖可知,Client只負責提交Application並監控Application的狀態。對於Spark的任務調度主要是集中在兩個方面: 資源申請和任務分發,其主要是通過ApplicationMaster、Driver以及Executor之間來完成
- 提交一個Spark應用程序,首先通過Client向ResourceManager請求啓動一個Application,同時檢查是否有足夠的資源滿足Application的需求,如果資源條件滿足,client準備ApplicationMaster的啓動上下文,並不停向RM查詢Application狀態。
- 當提交的資源隊列中有資源時,ResourceManager會在某個NodeManager上啓動ApplicationMaster進程,ApplicationMa