其中- -deploy-mode預設為client。
standalone-client
模式提交任務
./spark-submit --master spark://node1:7077 --deploy-mode client --class org.apache.spark.examples.sparkpi …/examples/jars/spark-examples_2.11-2.4.0.jar 100在這種模式下,我們能夠很清楚的在客戶端看到
driver
與worker
的通訊,因為此時driver
是執行在客戶端的。
並且:
standalone-client
模式會在客戶端看到task
時都會啟動自己的driver
,driver
與集群的worker
有大量的通訊,會造成客戶端網絡卡流量激增的問題,這種模式適用於程式測試,不適用於生產環境。
2.standalone-cluster
模式提交任務
./spark-submit --master spark://node1:7077 --deploy-mode cluster --class org.apache.spark.examples.sparkpi …/examples/jars/spark-examples_2.11-2.4.0.jar 1001.yarn-client模式提交任務
與standalone-client模式一樣,會造成流量激增,適合做測試不適合生產。
下面是執行流程序列圖:
2.yarn-cluster模式提交任務
與standalone-cluster模式一樣,用集群分散網絡卡流量負擔。
下面是執行流程序列圖:
yarn-client模式,spark-submit在提交的時候傳送給rm,請求啟動am,分配乙個container,在某個nm上,啟動am,但是這裡的am只是乙個executorlauncher,功能是很有限的。am啟動後會找rm申請container,啟動executor,am鏈結其他的nm,用container的資源來啟動executor。executor會反向註冊到本地的driver上。
參考:
Yarn工作機制
yarn是乙個資源排程平台,負責為運算程式提供伺服器運算資源,相當於乙個分布式的作業系統平台,而mapreduce等運算程式則相當於執行於作業系統之上的應用程式1 yarn 並不清楚使用者提交的程式的執行機制 2 yarn 只提供運算資源的排程 使用者程式向 yarn 申請資源,yarn 就負責分配...
YARN基本原理和YARN工作流程
舊的mapreduce架構 基本概念 舊的架構的問題 jobtracker是mapreduce的集中處理點,存在單點故障 jobtracker完成了太多的任務,造成了過多的資源消耗,當mapreduce job 非常多的時候,會造成很大的記憶體開銷。這也是業界普遍總結出老hadoop的mapredu...
YARN基本框架和工作流程
nodemanager nm container yarn的通訊協議 yarn工作流程 排程器應用程式管理器nm是每個節點上的資源和任務管理器,一方面,它會定時地向rm匯報本節點上的資源使用情況和各個container的執行狀態,另一方面,它接收並處理來自am的container啟動 停止等各種請求...