Spark Yarn 提交作業

2021-08-26 14:42:52 字數 1947 閱讀 9923

初學spark時,部署的是standalone模式(整合了ha),寫的測試程式一般建立上下文時如下:

此處master設定為管理節點的集群位址(spark webui上顯示的位址) 。

之後將測試**打包成jar包,上傳到伺服器,使用spark-submit提交作業。

提交命令:

spark-submit --master spark://s44:7077 --name mywordcount --class com.yahuidemo.spark.scala.wordcountscala sparkdemo1-1.0-snapshot.jar hdfs://s44:8020/usr/hadoop/test.txt

注意,此處我把master設定為我集群master的url,那麼可以隨意定義;class引數要帶包名,一直指定到要執行的類入口,後面緊跟所在的jar(我是直接在jar所在目錄下執行的spark-submit,配置過spark環境變數;試過在spark的bin目錄下執行,但jar包在別的地方,結果沒有成功~)jar包引數後 跟main需要的自定義引數,如果有多個,空格隔開即可。我這裡只需要乙個引數,用來指定程式要載入的檔案目錄。

提交後就等著列印結果就好。另外可以根據螢幕列印出來的提示檢視日誌,還可以在webui上檢視具體的執行過程。類似於這樣:

點超連結可以看詳細的。

前面是測試standalone模式,現在要講的是yarn模式下提交作業。

由於公司使用ambari來統一搭建管理hadoop、spark等集群。ambari上新增servcie的方式搭建的spark集群是spark-yarn模式。底層原理跟standalone是差不多的,由master來排程worker實現計算,只不過排程交給yarn來管理。

官方也給出了spark-yarn的部署文件:

ambari上搭建好集群後,提交了乙個example沒有問題:

spark-submit --master yarn --class org.apache.spark.examples.sparkpi spark-examples_2.11-2.3.0.2.6.5.0-292.jar

後來自己寫了個單詞統計的測試類,在使用yarn方式提交。

這裡需要將sparkconfig的master配置修改為「yarn」。我為了方便切換模式,將masterurl寫成引數傳遞方式:

依舊將作業打成jar包,上傳到伺服器,提交作業。提交命令為:

spark-submit --master yarn --class com.yahuidemo.spark.scala.wordcountscala sparkdemo1-1.0-snapshot.jar yarn /user/spark/test.txt

如圖:

注意 需要將master引數修改為yarn,class引數、jar包 和自定義引數跟standalone模式下一樣傳遞。我傳了兩個引數,乙個是指定masterurl 另乙個是檔案目錄。

執行結果

webui 觀察

spark yarn提交任務

yarn cluster命令 配置spark執行在yarn上 進入conf目錄下,然後編輯spark env.s 件 hadoop conf dir hadoop home etc hadoop 提交命令.spark submit master yarn class org.apache.spark...

python如何提交作業 提交作業

1.提交作業 1.1 簡單作業 如果您已經按照準備工作裡的步驟配置了預設映象 例項型別和網路型別,可以通過以下的簡單命令提交乙個作業。bcs sub echo 123 提交乙個單任務作業,執行 echo 123 如果您沒有對命令列工具進行過預設配置,需要在提交的時候指定更多的選項。bcs sub e...

實用 Spark Yarn模式

spark客戶端直接連線yarn,不需要額外構建spark集群。有yarn client和yarn cluster兩種模式,主要區別在於 driver程式的執行節點。1 修改hadoop配置檔案yarn site.xml,新增如下內容 root hadoop102 hadoop vi yarn si...