Spark提交任务需要使用Submit脚本,spark-submit脚本提交任务时最简易的命令格式如下:
./bin/spark-submit \
--master spark://localhost:7077 \
任务包 任务参数
而实际开发中用的一般是如下的格式
./bin/spark-submit \
--master yarn \
--deploy-mode cluster \
--driver-memory 1g \
--executor-memory 1g \
--executor-cores 11 \
--class org.apache.spark.examples.SparkPi \
examples/target/scala-2.11/jars/spark-examples*.jar 10
同时spark-submit支持的参数如下
常用参数:
--master master的地址,提交任务到哪里执行,例如spark://host:port, yarn, local
--deploy-mode 在本地(client)启动driver或在cluster上启动,默认是 client
--class 应用程序的主类
--driver-memory Driver内存,默认1G
--driver-cores Driver的核数,默认是1,在yarn或者 standalone下使用
--executor-memory 每个 execytor 的内存,默认是1G
--executor-core 每个 executor 的核数。在yarn或者standalone下使用
--num-executors 启动的executor数量。默认为2。在 yarn 下使用
--total-executor-cores 所有executor总共的核数。
其他非常用参数:
--name 应用程序的名称,见显示在web ui上区分任务
--jars 用逗号分隔的本地jar包,设置后,这些jar将包含在driver和executor的classpath下
--packages 包含在driver和executor的 classpath中的jar的maven坐标
--exclude-packages 为了避免冲突 而指定不包含的 package
--repositories 远程 repository
--conf PROP=VALUE 指定spark 配置属性的值,例如--conf spark.executor.extraJavaOptions="-XX:MaxPermSize=256m"
--properties-file 加载的配置文件,默认为conf/spark-defaults.cont
--driver-java-options 传给driver的额外的Java选项
--driver-library-path 传给driver的额外的库路径
--driver-class-path 传给driver的额外的类路径
最后注意说明一点,如果你的spark任务要在yarn上运行,Spark需要配置hadoop的home和配置文件路径,你也可以整个spark都参考我主页下大数据原生集群环境搭建中的spark配置