spark监控调优

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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监控调优的主要内容,如果未能解决你的问题,请参考以下文章

MySQL调优性能监控

JVM监控与调优

OracleExpImp导入导出工具性能调优

MySQL写压力性能监控与调优

DB2调优资源监控

zabbix监控模板修改及调优(不完整版)