Ganglia是一款优秀的监控软件,能够监控节点级别以及组件级别的监控,并且与Nagios配合可以做到监控提示的发送通知功能。
Ganliga安装
预先安装配置
## 服务器端
yum install -y rrdtool epel-release ganglia-devel ganglia-gmetad ganglia-gmond ganglia-web httpd php
## 客户端
yum install -y 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)。
一般配置步骤如下
- 编译开源软件kafka-ganglia
- 将JAR包:kafka-ganglia-1.0.0.jar, metrics-ganglia-2.2.0.jar复制到Kafka响应的kafka libs下
- 针对Kafka添加配置,在kafka.properties中
kafka.metrics.reporters=com.criteo.kafka.KafkaGangliaMetricsReporter,kafka.metrics.KafkaCSVMetricsReporter kafka.ganglia.metrics.reporter.enabled=true
- 重启Kafka服务,使之生效。
注
这样操作可能会是CDH-Kafka中,失去controller角色引起其他问题[未做详细测试]。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!