回覆列表
  • 1 # 使用者3296806220335

    因為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}下面執行:

    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}下面執行:

    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

  • 中秋節和大豐收的關聯?
  • 《極限挑戰》第四季為什麼要加素人而《奔跑吧》新一季就不用素人?