关于spark-submit的一些笔记

在配置完saprk之后,在cmd下运行spark-submit --help查看

出现以下内容:

关于spark-submit的一些笔记

关于spark-submit的一些笔记

其中常用的有:

  • --class: 主函数所在的类。
  • --master: master的url
  • --deploy-mode: 部署driver在本地还是集群的一个work节点上
  • --conf: 用 key=value形式指定参数
  • application-jar: jar包的路径
  • application-arguments: 传递给main函数的参数

master的设置选项包括:

关于spark-submit的一些笔记

deploy-mode设置选项包括:client与cluster

第一种:client模式
适合于有专门的getway机器与集群位于同一网段,这种模式下,spark-submit提交后driver直接启动集群的一个client。集群的输出会返回到client端的console上。这种模式很适合spark-shell。

第二种:cluster模式
如果提交的机器远离spark集群的worker机器,最好使用cluster模式,该模式能够减少网络传输的错误。


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应用程序PYTHONPATH上的.zip, .egg, .py文件列表
  --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包会自动包含在类路径里
  --executor-memory MEM       executor内存大小,默认1G

Spark standalone with cluster deploy mode only:
  --driver-cores NUM          driver使用内核数,默认为1
  --supervise                 如果设置了该参数,driver失败是会重启

Spark standalone and Mesos only:
  --total-executor-cores NUM  executor使用的总核数

YARN-only:
  --executor-cores NUM        每个executor使用的内核数,默认为1
  --queue QUEUE_NAME          提交应用程序给哪个YARN的队列,默认是default队列
  --num-executors NUM         启动的executor数量,默认是2个
  --archives ARCHIVES         被每个executor提取到工作目录的档案列表,用逗号隔开