Spark spark執行模式

2021-09-18 04:42:47 字數 2507 閱讀 4614

一、standalone模式

1.standalone下的client模式

./spark-submit --master spark://node1:7077 --class org.apache.spark.examples.sparkpi ../examples/jars/spark-examples_2.11-2.2.1.jar 1000

或者./spark-submit --master spark://node1:7077 --deploy-mode client --class org.apache.spark.examples.sparkpi ../examples/jars/spark-examples_2.11-2.2.1.jar 1000

執行原理圖:

client:執行任務的節點

①worker節點和master節點是會進行通訊的,worker會把資源資訊反饋給master

④申請到資源以後,driver會把task任務傳送到worker端執行

⑤worker端會將執**況和結果返回給driver

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.2.1.jar 100
注意:

standalone-cluster提交方式,應用程式使用的所有jar包和檔案,必須保證所有的

worker

節點都要有,因為此種方式,spark

不會自動上傳包。

解決方式:

(1)將所有的依賴包和檔案打到同乙個包中,然後放在hdfs上。

(2)將所有的依賴包和檔案各放乙份在worker節點上

執行原理圖:

②master會隨機找一台節點啟動driver

④申請到資源以後,driver會把任務傳送到worker節點上執行

⑤worker端會把執**況和結果返回給driver

總結standalone兩種方式提交任務,driver與集群的通訊包括:

1. driver負責應用程式資源的申請

2. 任務的分發。

3. 結果的**。

4. 監控task執**況

二、yarn模式

1.yarn下的client模式

./spark-submit --master yarn --class org.apache.spark.examples.sparkpi ../examples/jars/spark-examples_2.11-2.2.1.jar  100
執行原理圖:

③rm收到請求後會隨機在一台nodemanager節點上啟動am

④am啟動後會向rm申請一批container資源用於啟動executor

⑤rm會返回一批nm節點

⑥am收到這些nm節點資訊之後會去對應的nm上啟動executor,executor啟動後會反向註冊給driver

⑦driver會把task任務傳送到executor上執行,並且監控task執**況,**結果

2.yarn下的cluster模式

./spark-submit --master yarn --deploy-mode cluster --class org.apache.spark.examples.sparkpi ../examples/jars/spark-examples_2.11-2.2.1.jar 100
執行原理圖:

②rm會隨機找一台nm節點啟動am,這時am相當於driver端

③am啟動後會向rs請求一批container用於啟動executor

④rs會返回一批nm節點

⑤am會去啟動executor,executor啟動後會反向註冊給deriver

⑥driver會傳送task任務到executor上執行,並監控執**況,**結果

的作用:

2.給nodemanger傳送訊息啟動excutor。

3.任務排程。

Spark Spark應用執行機制

sparkcontext spark 應用程式的入口,負責排程各個運算資源,協調各個 worker node 上的 executor rdd的action運算元觸發job的提交,提交到spark中的job生成rdd dag,由dagscheduler轉化為stage dag,每個stage中產生相應...

Spark Spark應用執行機制

sparkcontext spark 應用程式的入口,負責排程各個運算資源,協調各個 worker node 上的 executor rdd的action運算元觸發job的提交,提交到spark中的job生成rdd dag,由dagscheduler轉化為stage dag,每個stage中產生相應...

Spark Spark容錯機制

一般來說,分布式資料集的容錯性有兩種方式 資料檢查點和記錄資料的更新。面向大規模資料分析,資料檢查點操作成本很高,需要通過資料中心的網路連線在機器之間複製龐大的資料集,而網路頻寬往往比記憶體頻寬低得多,同時還需要消耗更多的儲存資源。因此,spark選擇記錄更新的方式。但是,如果更新粒度太細太多,那麼...