一、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選擇記錄更新的方式。但是,如果更新粒度太細太多,那麼...