Ganglia是一款优秀的监控软件,能够监控节点级别以及组件级别的监控,并且与Nagios配合可以做到监控提示的发送通知功能。
Ganliga安装
预先安装配置
## 服务器端
yum -y install rrdtool epel-release ganglia-devel ganglia-gmetad ganglia-gmond ganglia-web httpd php
## 客户端
yum -y install ganglia-gmond epel-release
Ganglia配置
- Gmetad配置
- Gmond配置
- Httpd相关配置
启动服务
## Server端
service gmond start
service gmetad start
service httpd start
## Client端
service gmond start
Ganglia-Hadoop配置
默认Hadoop支持Ganglia元数据收集,所以只需要配置起来,即可使用Ganglia查看Hadoop集群的相关数据。
## 在hadoop-metrics2.properties中添加一下配置
*.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31
*.sink.ganglia.period=10
datanode.sink.ganglia.servers=ganglia-server:8649
Ganglia-Spark编译使用
因为需要通过Ganglia监控Spark的相关数据,而Spark的licence与Ganglia用到的组件不同,所以在原生的Spark中,不支持Ganglia监控的支持。所以好多公开资料,都是自行编译带有Ganglia的版本。
因此,本文作者自行编译Spark版本的Spark软件。
编译
./make-distribution.sh --tgz -Psparkr -Pyarn -Phadoop-2.6 -Dhadoop.version=2.6.0-cdh5.12.1 -Phive -DskipTests -Phive-thriftserver -Pspark-ganglia-lgpl -Dscala-2.10.7 clean package
编译过程可能会遇到未预期错误,请具体问题具体分析。
Ganglia-Kafka安装使用
Ganglia针对Kafka的支持是基于Ganglia API的实现:https://github.com/Xinshiyou/kafka-ganglia
。
配置
一般配置步骤如下
1. 编译开源软件kafka-ganglia
2. 将JAR包:kafka-ganglia-1.0.0.jar, metrics-ganglia-2.2.0.jar复制到Kafka响应的kafka libs下
3. 针对Kafka添加配置,在kafka.properties中:
kafka.metrics.reporters=com.criteo.kafka.KafkaGangliaMetricsReporter,kafka.metrics.KafkaCSVMetricsReporter
kafka.ganglia.metrics.reporter.enabled=true
4. 重启Kafka服务,使之生效。
注
这样操作,可能会是CDH-Kafka中,失去controller角色,引起其他综合问题。