1.spark-submit提交任务
./bin/spark-submit \
--class <main-class>
--master <master-url> \
--deploy-mode <deploy-mode> \
--conf <key>=<value> \
... # other options <application-jar> \
[application-arguments]
spark-submit --class Your.Class --master local
--driver-memory 128m --executor-memory 128m --executor-cores 1 /path-to/Your.jar
–master参数介绍
spark://host:port
连接到指定端口的Spark独立集群上。默认情况下Spark独立主节点使用7077端口
mesos://host:port
连接到指定端口的Mesos集群上。默认情况下Mesos主节点监听5050端口
yarn
连接到一个YARN集群。当在YARN上运行时,需要设置环境变量HADOOP_CONF_DIR
指向的Hadoop配置目录,以获取集群信息
local
本地模式运行,使用单核
local[N]
本地模式运行,使用多核
local[*]
运行本地模式,使用尽可能多的核心
Spark-submit 一些常用标记
--master
表示要连接的集群管理器
--deploy-mode
选择本地(客户端)启动驱动器程序,还是在集群中的一台工作节点机(集群“cluster”上启动)。
在客户端模式下,spark-submit会将驱动器程序运行在spark-submit被调用的这台机器上。
在集群模式下,驱动器程序会被传输并执行与集群的一个工作节点上。
--class
运行Java或者scala程序时应用的主类
--name
应用显示的名字,会显示在sparkweb用户界面中
--jars
需要上传并放在应用的CLASSPATH中的jar包列表。如果依赖于少量的第三方jar包,可以把他们放在这个参数中。
--files
需要放到应用工作目录中的文件列表。这个参数一般用来放需要分发到各个节点的数据文件。
--py-files
需要添加到PYTHONPATH中的文件列表。其中包含.py .egg 以及.zip文件
--executor-memory
执行器进程使用的内存量,以字节为单位,可以使用后缀指定更大的单位,比如521m或15g
--driver-memory
驱动器进程使用的内存量,以字节为单位,可以使用后缀指定更大的单位,比如521m或15g
--properties-file my.conf
设置运行的参数,参数在文件中指定
在程序中设置
val conf = new SparkConf() .setMaster(...)
.setAppName(...) .set("spark.cores.max", "10")
val sc = new SparkContext(conf)
也可以在配置文件中设置
spark-submit --class com.example.Myapp\
--properties-file my.conf
my.jar
####my.conf####
spark.master local[4]
spark.app.name "APP name"
spark.ui.port 3600
读取配置顺序为,代码中调用》》shell调用》》配置文件调用