jar包提交,可以使用bin/spark-submit脚本启动应用了. 这个脚本负责设置spark使用的classpath和依赖,支持不同类型的集群管理器和发布模式:
bin/spark-submit \ --class <main-class> --master <master-url> \ --deploy-mode <deploy-mode> \ --conf <key>=<value> \ ... # other options <application-jar> \ [application-arguments]
查看Spark-submit全部参数:
local
本地以一个worker线程运行(例如非并行的情况).
local[K]
本地以K worker 线程 (理想情况下, K设置为你机器的CPU核数).
local[*]
本地以本机同样核数的线程运行.
spark://HOST:PORT
连接到指定的Spark standalone cluster master. 端口是你的master集群配置的端口,缺省值为7077.
mesos://HOST:PORT
连接到指定的Mesos 集群. Port是你配置的mesos端口, 缺省是5050. 或者如果Mesos使用ZOoKeeper,格式为 mesos://zk://....
yarn-client
以client模式连接到YARN cluster. 集群的位置基于HADOOP_CONF_DIR 变量找到.
yarn-cluster
以cluster模式连接到YARN cluster. 集群的位置基于HADOOP_CONF_DIR 变量找到.
–master MASTER_URL
说明:可以是spark://host:port, mesos://host:port, yarn, yarn-cluster,yarn-client, local
–deploy-mode DEPLOY_MODE
说明:Driver程序运行的地方,client或者cluster
–class CLASS_NAME
说明:主类名称,含包名
–name NAME
说明:Application名称
–jars JARS
说明:Driver依赖的第三方jar包
–py-files PY_FILES
说明:用逗号隔开的放置在Python应用程序PYTHONPATH上的.zip, .egg, .py文件列表
–files FILES
说明:用逗号隔开的要放置在每个executor工作目录的文件列表
–properties-file FILE
说明:设置应用程序属性的文件路径,默认是conf/spark-defaults.conf
–driver-memory MEM
说明:Driver程序使用内存大小
–driver-java-options
–driver-library-path
说明:Driver程序的库路径
–driver-class-path
说明:Driver程序的类路径
–executor-memory MEM
说明:executor内存大小,默认1G
–driver-cores NUM
说明:Driver程序的使用CPU个数,仅限于Spark Alone模式
–supervise
说明:失败后是否重启Driver,仅限于Spark Alone模式
–total-executor-cores NUM
说明:executor使用的总核数,仅限于Spark Alone、Spark on Mesos模式
–executor-cores NUM
说明:每个executor使用的内核数,默认为1,仅限于Spark on Yarn模式
–queue QUEUE_NAME
说明:提交应用程序给哪个YARN的队列,默认是default队列,仅限于Spark on Yarn模式
–num-executors NUM
说明:启动的executor数量,默认是2个,仅限于Spark on Yarn模式
–archives ARCHIVES
说明:仅限于Spark on Yarn模式
注意:如果要使用--properties-file的话,在--properties-file中定义的属性就不必要在spark-sumbit中再定义了,比如在conf/spark-defaults.conf 定义了spark.master,就可以不使用--master了。关于Spark属性的优先权为:SparkConf方式 > 命令行参数方式 >文件配置方式。