spark提交命令详解

本片文章主要结合官网的提交说明进行,详情请看http://spark.apache.org/docs/latest/submitting-applications.html ./bin/spark-submit \ --class <main-class> --master <master-url> \ --deploy-mode <deploy-mode> \ --conf <key>=<value> \ ... # other options <application-jar> \ [application-arguments]
                          标准格式

spark通过命令行来提交,其中一些参数可以在程序中进行指定

/home/tong/installDirectory/spark-1.4.0-bin-hadoop2.6/bin/spark-submit //提交命令位置的指定

--class com.cloudera.streamDemo.StreamingErrorCount //这个参数可以进行指定jar包的入口位置,不是物理位置

--master spark://spark1:7077 //指定spark执行的master和端口号,可以在程序中SparkConf中进行指定

target/streamDemo-1.0-SNAPSHOT.jar //编译好jar包的位置

/spark/streamData.txt 1//最后的参数为程序执行过程中需要的文件,这里指定的为hdfs中的文件位置,指定参数

其他的一些参数还有:

--conf可以以key=value的形式进行spark提交过程中的任意参数的指定,例如执行的核数,执行的存储空间等等。

--deploy-mode可以部署你的驱动在工作节点上(cluster)或者是作为外部客户端部署在本地(client)。一种普遍的部署策略是从一台在物理上依赖于你的集群worker节点的网关(入口)机器来提交你的应用。在这种模式下,client模式是更为合适的,在client模式中,提交过程(submit process)被当做集群中的一个client,驱动在submit下被直接发送,应用的输入输出被显在控制台,这种模式对于那种涉及到REPL的应用是比较合适的,例如spark-shell下。

此外,如果你的应用是从一台距离你的工作节点很远的机器上提交的,例如你本地的笔记本,那么使用cluster模式是非常普遍的,这种模式可以降低在驱动(drivers)和具体执行机器的中间的网络延迟,特别注意的是,cluster模式当前对于mesos集群是并不支持的。当前仅仅是yarn对于Python应用支持cluster模式。在standalone的cluster模式下,可以指定--supervise参数来确保如果驱动以非0退出码失败的时候,他可以确保驱动的自动重启。当然还可以在submit下指定其他的参数,都是比较简单的。下面是一些事例。

# Run application locally on 8 cores
./bin/spark-submit \
  --class org.apache.spark.examples.SparkPi \
  --master local[8] \
  /path/to/examples.jar \
  100

# Run on a Spark Standalone cluster in client deploy mode
./bin/spark-submit \
  --class org.apache.spark.examples.SparkPi \
  --master spark://207.184.161.138:7077 \
  --executor-memory 20G \
  --total-executor-cores 100 \
  /path/to/examples.jar \
  1000

# Run on a Spark Standalone cluster in cluster deploy mode with supervise
./bin/spark-submit \
  --class org.apache.spark.examples.SparkPi \
  --master spark://207.184.161.138:7077 \
  --deploy-mode cluster
  --supervise
  --executor-memory 20G \
  --total-executor-cores 100 \
  /path/to/examples.jar \
  1000

# Run on a YARN cluster
export HADOOP_CONF_DIR=XXX
./bin/spark-submit \
  --class org.apache.spark.examples.SparkPi \
  --master yarn-cluster \  # can also be `yarn-client` for client mode
  --executor-memory 20G \
  --num-executors 50 \
  /path/to/examples.jar \
  1000

# Run a Python application on a Spark Standalone cluster
./bin/spark-submit \
  --master spark://207.184.161.138:7077 \
  examples/src/main/python/pi.py \
  1000



你可能感兴趣的:(spark提交命令详解)