1. 程式人生 > >spark用程式提交任務到yarn

spark用程式提交任務到yarn

因為spark文件中只介紹了兩種用指令碼提交到yarn的例子,並沒有介紹如何通過程式提交yarn,但是我們的需求需要這樣。網上很難找到例子,經過幾天摸索,終於用程式提交到yarn成功,下面總結一下。

先介紹官網提交的例子,我用的是spark 0.9.0 hadoop2.2.0

一.使用指令碼提交

1.使用spark指令碼提交到yarn,首先需要將spark所在的主機和hadoop叢集之間hosts相互配置(也就是把spark主機的ip和主機名配置到hadoop所有節點的/etc/hosts裡面,再把叢集所有節點的ip和主機名配置到spark所在主機的/etc/hosts裡面)。

2.然後需要把hadoop目錄etc/hadoop下面的*-sit.xml複製到${SPARK_HOME}的conf下面.

3.確保hadoop叢集配置了 HADOOP_CONF_DIR or YARN_CONF_DIR 

1.yarn-standalone方式提交到yarn

${SPARK_HOME}下面執行:

?
1 2 3 4 5 6 7 8 9 SPARK_JAR=./assembly/target/scala-2.10.4/spark-assembly-0.9.0-incubating-hadoop2.2.0.jar \ ./bin/spark-class org.apache.spark.deploy.yarn.Client \
--jar ./examples/target/scala-2.10/spark-examples_2.10-assembly-0.9.0-incubating.jar \ --class org.apache.spark.examples.SparkPi \ --args yarn-standalone \ --num-workers 3 \ --master-memory 2g \ --worker-memory 2g \ --worker-cores 1
2.yarn-client方式提交到yarn

${SPARK_HOME}下面執行:

?
1 2 3 SPARK_JAR=./assembly/target/scala-2.10.4/spark-assembly-0.9.0-incubating-hadoop2.2.0.jar \ SPARK_YARN_APP_JAR=examples/target/scala-2.10/spark-examples_2.10-assembly-0.9.0-incubating.jar \ ./bin/run-example org.apache.spark.examples.SparkPi yarn-client
二、使用程式提交

1.必須使用linux主機提交任務,使用windows提交到linux hadoop叢集會報

?
1 org.apache.hadoop.util.Shell$ExitCodeException: /bin/bash: 第 0 行: fg: 無任務控制

錯誤。hadoop2.2.0不支援windows提交到linux hadoop叢集,網上搜索發現這是hadoop的bug。

2.提交任務的主機和hadoop叢集主機名需要在hosts相互配置。

3.因為使用程式提交是使用yarn-client方式,所以必須像上面指令碼那樣設定環境變數SPARK_JAR 和 SPARK_YARN_APP_JAR

比如我的設定為向提交任務主機~/.bashrc裡面新增:

?
1 2

相關推薦

spark程式提交任務yarn

因為spark文件中只介紹了兩種用指令碼提交到yarn的例子,並沒有介紹如何通過程式提交yarn,但是我們的需求需要這樣。網上很難找到例子,經過幾天摸索,終於用程式提交到yarn成功,下面總結一下。 先介紹官網提交的例子,我用的是spark 0.9.0 hadoop

【原創】大叔經驗分享(46)提交任務yarn報錯

nim use ima tps 原創 ask 圖片 bmi cfg 用戶提交任務到yarn時有可能遇到下面的錯誤: Requested user anything is not whitelisted and has id 980,which is below the

spark streaming應用提交yarn上一直處於ACCEPTED狀態,也未報錯

原因已經找到,這裡做個記錄,防止下次再犯類似的錯誤。實際上是因為程式碼中將執行模式設定為本地模式,在提交到yarn上後driver端的程式碼正常執行,並且也正常運行了很多批次。但由於是本地模式,所以driver不會向resourcemanager申請資源,所以也就不會向rm註

Spark修煉之道(高階篇)——Spark原始碼閱讀:第一節 Spark應用程式提交流程

作者:搖擺少年夢 微訊號: zhouzhihubeyond spark-submit 指令碼應用程式提交流程 在執行Spar應用程式時,會將spark應用程式打包後使用spark-submit指令碼提交到Spark中執行,執行提交命令如下: root@s

Spark】篇---Sparkyarn模式兩種提交任務方式

方式 div -s and clas client 命令 yarn 模式 一、前述 Spark可以和Yarn整合,將Application提交到Yarn上運行,和StandAlone提交模式一樣,Yarn也有兩種提交任務的方式。 二、具體 1、yarn

sparkYARN模式或Client模式提交任務不成功(application state: ACCEPTED)

應該是yarn的記憶體資源不夠 cd $HADOOP_HOME/bin 然後檢視yarn程序 yarn application -list 然後殺死任務 yarn application -kill application_1437456051228_1725

Sparkyarn模式兩種提交任務方式

轉自:https://www.cnblogs.com/LHWorldBlog/p/8414342.html 一、前述 Spark可以和Yarn整合,將Application提交到Yarn上執行,和StandAlone提交模式一樣,Yarn也有兩種提交任務的方式。 二、具體  

Spark篇】---Sparkyarn模式兩種提交任務方式

一、前述Spark可以和Yarn整合,將Application提交到Yarn上執行,和StandAlone提交模式一樣,Yarn也有兩種提交任務的方式。二、具體           1、yarn-client提交任務方式配置         在client節點配置中spark

spark 提交任務yarn上執行

1、在idea上先寫好,自己的程式碼並進行測試,這裡貼一個很簡單的統計單詞個數的程式碼 package spark import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkConte

Spark on Yarn提交任務緩慢

在使用 Spark on Yarn模式在叢集中提交任務的時候執行很緩慢,並且還報了一個WARN 使用叢集提交任務 ./bin/spark-submit \ --class org.apache.spark.examples.SparkPi \ -

Sparkyarn模式兩種提交任務方式(yarn-client與yarn-cluster)

Spark可以和Yarn整合,將Application提交到Yarn上執行,和StandAlone提交模式一樣,Yarn也有兩種提交任務的方式。 1.yarn-client提交任務方式 配置 在client節點配置中spark-en

【資源排程總綱】Yarn原始碼剖析(零) --- spark任務提交yarn的流程

前言 本系列的目的在於試圖剖析spark任務提交至hadoop yarn上的整個過程,從yarn的啟動,以及spark-submit提交任務到yarn上,和在yarn中啟動任務包括yarn元件之間的通訊,用以提升自身知識儲備,記錄學習的過程為目的,由於個人能力有限文章中或許

Spark On Yarn提交Spark應用程式Yarn

Spark On Yarn模式配置非常簡單,只需要下載編譯好的Spark安裝包,在一臺帶有Hadoop Yarn客戶端的機器上解壓,簡單配置之後即可使用。 要把Spark應用程式提交到Yarn執行,首先需要配置HADOOP_CONF_DIR或者YARN_C

hive on spark通過YARN-client提交任務不成功

在Hive on spark中  設定spark.master 為 yarn-client , 提交HiveQL任務到yarn上執行,發現任務無法執行 輸出一下錯誤: 可以看到 Hive on S

spark提交任務的模式—— standalone模式與yarn模式、資源排程與任務排程

standalone模式 在客戶端提交Application,Driver在客戶端啟動; 客戶端向Master申請資源,Master返回Worker節點; Driver向Worker節點發送task,監控task執行,回收結果。 在客戶端提交App

Spark提交任務YARN cluster中,提示An error occurred while calling z:org.apache.spark.api.python.PythonRDD

報錯日誌擷取部分如下: XXXXXXXXXX ERROR YarnSchedulerBackend$YarnSchedulerEndpoint:91 - Sending RequestExecutors(0,0,Map(),Set()) to AM was unsuccessful java.i

spark scala maven簡單建立工程與提交任務yarn

第一步 :使用idea和maven開發和打包scala和spark程式 參考:https://blog.csdn.net/xingyx1990/article/details/80752041 (注意:我自身採用mvn命令打包的方式打包:mvn clean compile package)

YARN提交任務作業(以wordcount樣例程式為例)

前提 已經搭建好Hadoop環境。 向YARN提交wordcount任務 1、首先在HDFS建立輸入檔案目錄,並將待處理的wordcount檔案傳入相應的輸入檔案目錄。 # 建立輸入檔案目錄 hadoop fs -mkdir -p /tmp/jb

在Ambari上rest提交SparkYarn

系統 JDK版本:jdk1.8.0_66 HDP版本:2.4.2.0-258 Hadoop 版本:Hadoop 2.7.1.2.4.2.0-258 Spark 版本:1.6.0.2.4 前期準備 /usr/hdp/2.4.2.0-258/

Windows Spark On YARN 提交任務到CDH叢集

軟體版本:IDE:Intellij IDEA 14,Java:1.7,Tomcat:7,CDH:5.8.0; Spark:1.6.0-cdh5.8.0-hadoop2.6.0-cdh5.8.0 ; Hadoop:hadoop2.6.0-cdh5.8.0;部署環境:1. 在Wi