首页 > 代码库 > spark监控调优

spark监控调优

一、Spark运行时架构:

Spark分布式结构采取 主/从 结构模式。主是驱动器(Driver)节点,这个节点负责中央协调,调度各个工作(执行器executor)节点。

从是执行器(executor)节点。

Spark驱动器节点和执行器节点统称为Spark应用。Spark应用通过集群管理器在集群的机器上启动。


二、驱动器和执行器的任务:

驱动器任务:负责运行组成Spark作业的任务;

执行器任务:为要求缓存的RDD提供内存式存储。


三、集群管理器

Cluster Manager可以用来启动驱动器节点、执行器节点。一般来说,包含以下的集群管理器:Hadoop Yarn,Apache Mesos,Spark自带的集群管理器。


四、spark-submit的格式:

/bin/spark-submit [options] <app jar | python file> [app options]



五、Spark性能调优:

如何调优和调试生产环境中的Spark工作负载。

1.调整Spark应用的运行时配置选项。通过SparkConf类对Spark进行配置。

val conf = new SparkConf()

conf.set("spark.app.name","My Spark App")

conf.set("spark.master","local[4]")

conf.set("spark.ui.port","36000")


val sc = new SparkContext(conf)


2.在提交任务给spark-submit时,可以通过--conf 选项来。 

例如bin/spark-submit --class com.vip.SimpleClass --master local[4] --name "My Spark App" --conf spark.ui.port=36000 myapp.jar


3.通过spark-submit的--properties-file标记来指定配置文件的路径:

spark-submit --class com.vip.SimpleClass --properties-file my-config.conf 


既然上边介绍了3种不同的方法来设置参数,所以如果在3个情况都配置之后,会发生冲突,那么这3种方式有一个优先级区别。优先级从高到低分别是1,2,3。如果冲突时,以第1种为准。


本文出自 “雪花” 博客,请务必保留此出处http://6216083.blog.51cto.com/6206083/1852832

spark监控调优