在集群上运行spark

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调用》》配置文件调用

    原文作者:lmem
    原文地址: https://www.jianshu.com/p/7b62b361df56
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞