首页 > 代码库 > Ganglia监控spark1.6.1
Ganglia监控spark1.6.1
Ganglia监控spark1.6.1
Spark的Metrics系统允许用户把Spark metrics信息报告到Ganglia,gmond服务收集metrics信息,最后统一汇总到gmetad并通过web界面呈现。主要着重于如何配置ganglia以及spark的metrics,至于如何编译spark支持ganglia以及ganglia的安装另行详述。
1.编译spark支持ganglia
spark默认不把ganglia相关的类包含在发行包中 ,所以在官网上下载的包是不支持ganglia的,所以我们要加上-Pspark-ganglia-lgpl
自行编译,可以看到在最后打包出来的spark-assembly-xxxx.jar包中包含了ganglia相关的类:
2.安装并配置ganglia
自行安装ganglia相关服务:gmetad,gmond以及ganglia-web。以配置ganglia单播为例配置gmetad,gmond
2.1配置服务端gmond.conf
gmond.conf配置文件位于/etc/ganglia/gmond.conf,编辑配置文件3个地方:
cluster { name = "unspecified" #集群名称 owner = "unspecified" latlong = "unspecified" url = "unspecified"}
udp_send_channel { #mcast_join = 239.2.11.71 #因为配置单播,所以去掉多播的配置 host = spmaster #spmaster为主节点主机名 port = 8649 ttl = 1}
udp_recv_channel { #mcast_join = 239.2.11.71 #单播要注掉mcast_join与bind port = 8649 #bind = 239.2.11.71 retry_bind = true # buffer = 10485760}
2.2配置服务端gmetad.conf
data_source "unspecified" spmaster:8649 #unspecified要与gmond中配置的一致
其它客户端,只需把/etc/ganglia/gmond.conf配置文件scp到各个节点即可。
3.安装并配置spark
自行部署spark集群,编辑$SPARK_HOME/conf/metrics.properties文件(没有可以拷贝metrics.properties.template),添加以下内容:
*.sink.ganglia.class=org.apache.spark.metrics.sink.GangliaSink*.sink.ganglia.host=spmaster*.sink.ganglia.port=8649*.sink.ganglia.period=10*.sink.ganglia.unit=seconds*.sink.ganglia.ttl=1*.sink.ganglia.mode=unicast*.sink.ganglia.name=unspecifiedmaster.source.jvm.class=org.apache.spark.metrics.source.JvmSourceworker.source.jvm.class=org.apache.spark.metrics.source.JvmSourcedriver.source.jvm.class=org.apache.spark.metrics.source.JvmSourceexecutor.source.jvm.class=org.apache.spark.metrics.source.JvmSource
更改后scp到其它spark节点,启动spark集群。
4.启动服务进行监控
启动ganglia的gmetad,gmond以及httpd服务:
service gmond startservice gmetad startservice httpd start
通过浏览器访问ganglia-web(http://spmaster/ganglia-web/)即可以看到spark相关的监控:
ganglia里面的图表实在太多了,需要些时间去熟悉、挖掘。
Ganglia监控spark1.6.1