日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Spark _05Standalone模式两种提交任务方式

發(fā)布時(shí)間:2024/2/28 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spark _05Standalone模式两种提交任务方式 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Standalone模式兩種提交任務(wù)方式


Standalone-client提交任務(wù)方式

  • 提交命令
./spark-submit --master spark://node1:7077 --class org.apache.spark.examples.SparkPi ../lib/spark-examples-1.6.0-hadoop2.6.0.jar 1000

或者

./spark-submit --master spark://node1:7077 --deploy-mode client --class org.apache.spark.examples.SparkPi ../lib/spark-examples-1.6.0-hadoop2.6.0.jar 100
  • 執(zhí)行原理圖解【完美圖示】

  • 執(zhí)行流程
  • client模式提交任務(wù)后,會(huì)在客戶端啟動(dòng)Driver進(jìn)程。
  • Driver會(huì)向Master申請啟動(dòng)Application啟動(dòng)的資源。
  • 資源申請成功,Driver端將task發(fā)送到worker端執(zhí)行。
  • worker將task執(zhí)行結(jié)果返回到Driver端。
    • 總結(jié)

    client模式適用于測試調(diào)試程序。Driver進(jìn)程是在客戶端啟動(dòng)的,這里的客戶端就是指提交應(yīng)用程序的當(dāng)前節(jié)點(diǎn)。在Driver端可以看到task執(zhí)行的情況。生產(chǎn)環(huán)境下不能使用client模式,是因?yàn)?#xff1a;假設(shè)要提交100個(gè)application到集群運(yùn)行,Driver每次都會(huì)在client端啟動(dòng),那么就會(huì)導(dǎo)致客戶端100次網(wǎng)卡流量暴增的問題。


    ?Standalone-cluster提交任務(wù)方式

    • 提交命令
    ./spark-submit --master spark://node1:7077 --deploy-mode cluster --class org.apache.spark.examples.SparkPi ../lib/spark-examples-1.6.0-hadoop2.6.0.jar 100
    • 執(zhí)行原理圖解【完美圖解】

    • 執(zhí)行流程
  • cluster模式提交應(yīng)用程序后,會(huì)向Master請求啟動(dòng)Driver.
  • Master接受請求,隨機(jī)在集群一臺(tái)節(jié)點(diǎn)啟動(dòng)Driver進(jìn)程。
  • Driver啟動(dòng)后為當(dāng)前的應(yīng)用程序申請資源。
  • Driver端發(fā)送task到worker節(jié)點(diǎn)上執(zhí)行。
  • worker將執(zhí)行情況和執(zhí)行結(jié)果返回給Driver端。
    • 總結(jié)

    Driver進(jìn)程是在集群某一臺(tái)Worker上啟動(dòng)的,在客戶端是無法查看task的執(zhí)行情況的。假設(shè)要提交100個(gè)application到集群運(yùn)行,每次Driver會(huì)隨機(jī)在集群中某一臺(tái)Worker上啟動(dòng),那么這100次網(wǎng)卡流量暴增的問題就散布在集群上。

    • 總結(jié)Standalone兩種方式提交任務(wù),Driver與集群的通信包括:

    1. Driver負(fù)責(zé)應(yīng)用程序資源的申請

    2. 任務(wù)的分發(fā)。

    3. 結(jié)果的回收。

    4. 監(jiān)控task執(zhí)行情況。


    Yarn模式兩種提交任務(wù)方式

    yarn-client提交任務(wù)方式

    • 提交命令
    ./spark-submit --master yarn--class org.apache.spark.examples.SparkPi ../lib/spark-examples-1.6.0-hadoop2.6.0.jar 100

    或者

    ./spark-submit --master yarn–client--class org.apache.spark.examples.SparkPi ../lib/spark-examples-1.6.0-hadoop2.6.0.jar 100

    ?或者

    ./spark-submit --master yarn --deploy-mode client --class org.apache.spark.examples.SparkPi ../lib/spark-examples-1.6.0-hadoop2.6.0.jar 100
    • 執(zhí)行原理圖解【完美圖解】

    ?

    • 執(zhí)行流程
  • 客戶端提交一個(gè)Application,在客戶端啟動(dòng)一個(gè)Driver進(jìn)程。
  • 應(yīng)用程序啟動(dòng)后會(huì)向RS(ResourceManager)發(fā)送請求,啟動(dòng)AM(ApplicationMaster)的資源。
  • RS收到請求,隨機(jī)選擇一臺(tái)NM(NodeManager)啟動(dòng)AM。這里的NM相當(dāng)于Standalone中的Worker節(jié)點(diǎn)。
  • AM啟動(dòng)后,會(huì)向RS請求一批container資源,用于啟動(dòng)Executor.
  • RS會(huì)找到一批NM返回給AM,用于啟動(dòng)Executor。
  • AM會(huì)向NM發(fā)送命令啟動(dòng)Executor。
  • Executor啟動(dòng)后,會(huì)反向注冊給Driver,Driver發(fā)送task到Executor,執(zhí)行情況和結(jié)果返回給Driver端。
    • 總結(jié)

    Yarn-client模式同樣是適用于測試,因?yàn)镈river運(yùn)行在本地,Driver會(huì)與yarn集群中的Executor進(jìn)行大量的通信,會(huì)造成客戶機(jī)網(wǎng)卡流量的大量增加.

    • ApplicationMaster的作用:
  • 為當(dāng)前的Application申請資源
  • 給NameNode發(fā)送消息啟動(dòng)Executor。
  • 注意:ApplicationMaster有l(wèi)aunchExecutor和申請資源的功能,并沒有作業(yè)調(diào)度的功能。


    ?yarn-cluster提交任務(wù)方式

    • 提交命令
    ./spark-submit --master yarn --deploy-mode cluster --class org.apache.spark.examples.SparkPi ../lib/spark-examples-1.6.0-hadoop2.6.0.jar 100

    或者

    ./spark-submit --master yarn-cluster --class org.apache.spark.examples.SparkPi ../lib/spark-examples-1.6.0-hadoop2.6.0.jar 100
    • 執(zhí)行原理圖解【完美圖解】

    • 執(zhí)行流程
  • 客戶機(jī)提交Application應(yīng)用程序,發(fā)送請求到RS(ResourceManager),請求啟動(dòng)AM(ApplicationMaster)。
  • RS收到請求后隨機(jī)在一臺(tái)NM(NodeManager)上啟動(dòng)AM(相當(dāng)于Driver端)。
  • AM啟動(dòng),AM發(fā)送請求到RS,請求一批container用于啟動(dòng)Executor。
  • RS返回一批NM節(jié)點(diǎn)給AM。
  • AM連接到NM,發(fā)送請求到NM啟動(dòng)Executor。
  • Executor反向注冊到AM所在的節(jié)點(diǎn)的Driver。Driver發(fā)送task到Executor。
    • 總結(jié)

    Yarn-Cluster主要用于生產(chǎn)環(huán)境中,因?yàn)镈river運(yùn)行在Yarn集群中某一臺(tái)nodeManager中,每次提交任務(wù)的Driver所在的機(jī)器都是隨機(jī)的,不會(huì)產(chǎn)生某一臺(tái)機(jī)器網(wǎng)卡流量激增的現(xiàn)象,缺點(diǎn)是任務(wù)提交后不能看到日志。只能通過yarn(node:8042)查看日志。

    • ApplicationMaster的作用:
  • 為當(dāng)前的Application申請資源
  • 給NameNode發(fā)送消息啟動(dòng)Excutor。
  • 任務(wù)調(diào)度。
    • 停止集群任務(wù)命令:yarn application -kill applicationID

    ?

    【注】感謝互聯(lián)網(wǎng),感謝B站北京某堂的老師的圖示。

    總結(jié)

    以上是生活随笔為你收集整理的Spark _05Standalone模式两种提交任务方式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。