spark-submit spark应用程序提交和运行

用于提交spark jar

Usage: spark-submit [option] <app jar | python file> [app option]

Options:

--master Master_URL spark://host:port, mesos://host:port,yarn,or local
--deploy-mode DEPLOY_MODE driver运行之处,client运行在本机,cluster运行在集群
--class CLASS_NAME 应用程序包的要运行的class
--name NAME 应用程序名称
--jars JARS 用逗号隔开的driver本地jar包列表以及executor类路径
--py-files PY_FILES 用逗号隔开的放在python应用程序PYTHON PATH的.zip,.py文件列表
--packages 包含在driver 和executor 的 classpath 中的 jar 的 maven 坐标
--exclude-packages 为了避免冲突 而指定不包含的 package
--repositories 远程 repository
-conf PROP=VALUE

指定 spark 配置属性的值,

 例如 -conf spark.executor.extraJavaOptions="-XX:MaxPermSize=256m"

--files Files 用逗号隔开的要放置在每个executor工作目录的文件列表
--properties-file FILE 设置应用程序属性的文件放置位置,默认是conf/spark-defaults.conf
--driver-memory MEM driver内存大小,默认512M
--driver-java-options driver的java选项
--driver-library-path driver的库路径 Extra library path entries to pass to the driver
--driver-class-path

 driver的类路径,用--jars添加的jar包会自动包含在类路径里

--driver-cores  Driver 的核数,默认是1。在 yarn 或者 standalone 下使用

--executor-memory MEM

executor内存大小,默认1G
--total-executor-cores 所有 executor 总共的核数。仅仅在 mesos 或者 standalone 下使用
--num-executors 启动的 executor 数量。默认为2。在 yarn 下使用
--executor-core 每个 executor 的核数。在yarn或者standalone下使用
--queue QUEUE_NAME 提交应用程序给那个YARN的队列,默认是Default队列
--archives ARCHIVES 被每个executor提取到工作目录的档案列表,用逗号隔开

参数不固定,应该根据自己集群的情况来设置合理的参数。下面举一个常用的具体例子

以下是一份spark-submit命令的示例,大家可以参考一下,并根据自己的实际情况进行调节:

./bin/spark-submit \

  --master yarn-cluster \

  --num-executors 100 \

  --executor-memory 6G \

  --executor-cores 4 \

  --driver-memory 1G \

  --conf spark.default.parallelism=1000 \

  --conf spark.storage.memoryFraction=0.5 \

  --conf spark.shuffle.memoryFraction=0.3 \

猜你喜欢

转载自blog.csdn.net/a627082796/article/details/87689541