在将项目打包之后,可能需要将其提交到大数据平台上去跑,这个时候就涉及到脚本处理。这里主要是有关spark的运行任务…一些常用的提交参数配置如下所示:
参数名 | 参数说明 |
---|---|
- -master | master 的地址,提交任务到哪里执行,例如 spark://host:port, yarn, local |
- -deploy-mode | 在本地 (client) 启动 driver 或在 cluster 上启动,默认是 client |
- -name | 应用程序的名称 |
- -class | 应用程序的主类,仅针对 java 或 scala 应用 |
- -jars | 用逗号分隔的本地 jar 包,设置后,这些 jar 将包含在 driver 和 executor 的 classpath 下 |
- -packages | 包含在driver 和executor 的 classpath 中的 jar 的 maven 坐标 |
- -exclude-packages | 为了避免冲突 而指定不包含的 package |
- -repositories | 远程 repository |
- -conf | 指定 spark 配置属性的值 |
- -properties-file | 加载的配置文件,默认为 conf/spark-defaults.conf |
- -driver-memory | Driver内存,默认 1G |
- -driver-java-options | 传给 driver 的额外的 Java 选项 |
- -driver-library-path | 传给 driver 的额外的库路径 |
- -driver-class-path | 传给 driver 的额外的类路径 |
- -driver-cores | Driver 的核数,默认是1。在 yarn 或者 standalone 下使用 |
- -executor-memory | 每个 executor 的内存,默认是1G |
–total-executor-cores | 所有 executor 总共的核数。仅仅在 mesos 或者 standalone 下使用 |
–num-executors | 启动的 executor 数量。默认为2。在 yarn 下使用 |
–executor-core | 每个 executor 的核数。在yarn或者standalone下使用 |
提交的脚本示例:
spark2-submit
--conf spark.yarn.submit.waitAppCompletion=false
--queue xxxx.xxx
--proxy-user xxx
--master yarn-cluster
--class xxxx.xxx.xxxTask (对应包下的类的路径)
--name xxxTask
--conf kafka.version=0.10
--executor-cores 2
--executor-memory 2048M
--driver-memory 512M
--num-executors 1
hdfs://xxxx(提交jar包中所显示的完整路径,jar包将对应保存在hdfs的相应目录里面)