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角色,引起其他綜合問題。