spark中怎样提交任务到import pysparkk
发布网友
发布时间:2022-04-22 06:43
我来回答
共1个回答
热心网友
时间:2022-04-09 06:39
因为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