- --master master 的地址,提交任务到哪里执行,例如 spark://host:port, yarn, local
- --deploy-mode 在本地 (client) 启动 driver 或在 cluster 上启动,默认是 client
- --class 应用程序的主类,仅针对 java 或 scala 应用
- --jars 用逗号分隔的本地 jar 包,设置后,这些 jar 将包含在 driver 和 executor 的 classpath 下
- --name 应用程序的名称
- --conf 指定 spark 配置属性的值,例如 -conf spark.executor.extraJavaOptions="-XX:MaxPermSize=256m"
- --driver-memory Driver内存,默认 1G
- --driver-cores Driver 的核数,默认是1。在 yarn 或者 standalone 下使用
- --excutor-core 每个 executor 的核数。在yarn或者standalone下使用
- --excutor-memory 每个 executor 的内存,默认是1G
- --total-excutor-cores 所有 executor 总共的核数。仅仅在 mesos 或者 standalone 下使用
- --driver-class-path 传给 driver 的额外的类路径
- --num-excutors 启动的 executor 数量。默认为2。在 yarn 下使用
资源调度时,
- Executor在集群中分散启动;
- 提交Spark任务时如果不指定参数,集群中每个Worker为当前的Application都会启动一个Executor,这个Executor会使用当前节点的所有的core和1G内存;
- 如果想在一台Worker上启动多个Executor,提交任务要指定--executor-cores
- 启动executor不仅和core有关,海域Executor有关
- 提交Appplication要指定--total-executor-cores,否则一个Application会使用集群所有资源;