做了幾天hadoop試驗和測試,發現監控集群狀態有點困難,比如在運行較大文件時,要查看datanode的cpu屬性,也只能登陸後查看。後來在網上查了下,搜到一個叫ganglia的管理工具,決定嘗試安裝一下,下面是我安裝的記錄,我用的是yum安裝(主要是安裝的關聯文件太多):
一、 首先看一下ganglia的結構:
可以看到,ganglia可以通過web顯示集群狀態,這也是我們想要的,基本的信息我們可以理解為:服務端需要安裝一個叫GMETAD的工具,節點需要安裝GMOND的工具,這些信息有助於我們較好的理解,ganglia的安裝。
二、更新yum
ganglia的依賴包有很多,但是大多數是在安裝linux後自動安裝的,有如下幾個:
zlib-1.2.2-4
libpng-1.2.1-6
freetype2-2.1.7-2
libart_lgpl-2.3.16-1
rrdtool-1.2.11
perl
這裡我們主要安裝的是rrdtool,為了更方便的安裝,我們更新下yum,拷貝幾個文件到ganglia服務端和客戶端的/etc/yum.repos.d/目錄下,之後會放到115網盤裡面,
-rw-r--r-- 1 root root 2188 Dec 15 10:18 CentOS-Base.repo
-rw-r--r-- 1 root root 1931 Dec 15 10:12 CentOS-Base.repo.bak
-rw-r--r-- 1 root root 954 Dec 14 10:12 epel.repo
-rw-r--r-- 1 root root 1010 Dec 15 10:15 ius.repo
-rw-r--r-- 1 root root 633 Dec 15 10:18 remi.repo
-rw-r--r-- 1 root root 561 Mar 10 2010 rhel-debuginfo.repo
-rw-r--r-- 1 root root 852 Dec 15 10:18 webtatic.repo
如果缺少RPM-GPG-KEY-EPEL文件,還需要導入文件RPM-GPG-KEY-EPEL,輸入:wget http://download.fedora.redhat.com/pub/epel/RPM-GPG-KEY-EPEL到/etc/pki/rpm-gpg/內。
由於我在149上已經安裝了,所以我直接copy過去:
scp RPM-GPG-KEY-EPEL [email protected]:/etc/pki/rpm-gpg/
scp -r /etc/yum.repos.d/* [email protected]:/etc/yum.repos.d/
三、安裝服務端
拷貝好之後,yum search ganglia 一下,看看是否出現如下信息:
========================================================= Matched: ganglia =========================================================
ganglia.i386 : Ganglia Distributed Monitoring System
ganglia-devel.i386 : Ganglia Library
ganglia-gmetad.i386 : Ganglia Metadata collection daemon
ganglia-gmond.i386 : Ganglia Monitoring daemon
ganglia-web.i386 : Ganglia Web Frontend
可以看到gmetad.i386是服務端要安裝的,gmond.i386是客戶端要安裝的文件,web用於服務端web展示
首先安裝服務端:
ganglia-gmetad.i386
查看安裝的ganglia包
rpm -qa |grep ganglia
ganglia-3.0.7-1.el5
ganglia-web-3.0.7-1.el5
ganglia-gmetad-3.0.7-1.el5
查看安裝路徑:
rpm -ql ganglia-gmetad-3.0.7-1.el5
/etc/gmetad.conf
/etc/rc.d/init.d/gmetad
/usr/sbin/gmetad
/usr/share/man/man1/gmetad.1.gz
/var/lib/ganglia
/var/lib/ganglia/rrds
配置文件:
vim /etc/gmetad.conf
data_source "hadoop" localhost hadoop148 hadoop150 #"hadoop"是服務名稱,之後node端配置需要,後面兩個是節點ip。
啟動gmetad:
service gmetad start
Starting GANGLIA gmetad: [ OK ]
驗證是否啟動成功:
telnet localhost 8651
四、客戶端安裝:
yum install ganglia-gmond.i386
[root@hadoop148 yum.repos.d]# rpm -qa |grep ganglia
ganglia-gmond-3.0.7-1.el5
這裡查看安裝路徑:
[root@hadoop148 yum.repos.d]# rpm -ql ganglia-gmond-3.0.7-1.el5
/etc/gmond.conf
/etc/rc.d/init.d/gmond
/usr/bin/gmetric
/usr/bin/gstat
/usr/sbin/gmond
/usr/share/man/man1/gmetric.1.gz
/usr/share/man/man1/gmond.1.gz
/usr/share/man/man1/gstat.1.gz
/usr/share/man/man5/gmond.conf.5.gz
配置/etc/gmond.conf:
cluster {
name = "hadoop" #改成了之前的服務名稱
owner = "unspecified"
latlong = "unspecified"
url = "unspecified"
}
啟動服務:
[root@hadoop148 yum.repos.d]# service gmond start
Starting GANGLIA gmond: [ OK ]
安裝web版一樣的方法,但是需要安裝apache支持,這裡就不詳細介紹了,之後會寫單獨的apache配置文章下面展示下ganglia的web界面:
轉載注明出處:http://blog.csdn.net/lengzijian/article/details/7102320,