最近在安裝ganglia用于hbase監(jiān)控,還是有點小麻煩的,步驟如下:
第一步:需要下載的包
apr-1.3.2.tar.bz2 confuse-2.6.tar.gz ganglia-3.1.7.tar.gz libconfuse-2.5-4.el5.x86_64.rpm rrdtool.tar.gz apr-util-1.3.2.tar.bz2 expat-2.0.1.tar.gz ganglia.tar.gz libconfuse-devel-2.5-4.el5.x86_64.rpm
第二步:安裝所下載的軟件
1)安裝expat-2.0.1.tar.gz
tar xvzf expat-2.0.1.tar.gz
cd expat*;./configure --prefix=/usr/local/expat-2.0.1;make;make install
2)安裝apr-1.3.2.tar.bz2
tar xvjf apr-1.3.2.tar.bz2
cd apr-1.3.2;./configure --prefix=/usr/local/apr-1.3.2;make;make install
3)安裝apr-util-1.3.2.tar.bz2
tar xvjf apr-util-1.3.2.tar.bz2
cd apr-util-1.3.2;./configure --with-apr=/usr/local/apr-1.3.2 --with-expat=/usr/local/expat-2.0.1
make;make install
cp /usr/local/apr/include/apr-1/* /usr/local/apr/include/目錄,因為ganglia安裝時默認會去/usr/local/apr/include下尋找apr的庫文件。
cp /usr/local/apr-1.3.2/include/apr-1/* /usr/local/apr-1.3.2/include/
cp /usr/local/apr/include/apr-1/* /usr/local/apr/include/
sudo yum install apr-devel apr-util-devel 安裝apr等
sudo yum install pcre pcre-devel libpcre 安裝libpcre
cp /usr/lib/libapr-1.* /usr/local/apr/include/
4)安裝confuse-2.6
tar zxvf confuse-2.6.tar.gz
cd confuse-2.6;./configure --prefix=/usr/local/confuse-2.6;make;make install
5)安裝rrdtool-1.2.27.tar.gz
sudo yum install cairo-devel libxml2-devel pango-devel pango libpng-devel freetype freetype-devel libart_lgpl-devel
tar xzvf pkg-config-0.23.tar.gz
tar xvzf rrdtool.tar.gz
cd rrdtool-1.4.5;./configure --prefix=/usr/local/rrdtool
make;make install
rpm -ivh libconfuse-2.5-4.el5.x86_64.rpm
rpm -ivh libconfuse-devel-2.5-4.el5.x86_64.rpm
5)先在集群服務器管理節(jié)點(為了消除服務器單點故障,最好是在lvs服務器上)上安裝ganglia-3.1.7.tar.gz
a)tar xvzf ganglia-3.1.7.tar.gz
b) sudo ./configure CFLAGS="-I/usr/local/rrdtool/include" CPPFLAGS="-I/usr/local/rrdtool/include" LDFLAGS="-L/usr/local/rrdtool/lib" --with-gmetad --enable-gexec --sysconfdir=/etc/ganglia
c)make;make install
將gmond gmetad及相應啟動腳本分別挎至/usr/sbin與/etc/init.d目錄下
d)cp gmond/gmond /usr/sbin;cp gmond/gmond.init /etc/init.d/gmond;cp gmetad/gmetad /usr/sbin;cp gmetad/gmetad.init /etc/init.d/gmetad; cp gmetad/gmetad.conf /etc/ganglia/;cp web web的DocumentRoot
sudo touch /etc/ganglia/gmond.conf
sudo chmod 666 /etc/ganglia/gmond.conf
sudo gmond/gmond -t > /etc/ganglia/gmond.conf
如果是被監(jiān)控節(jié)點,命令為 sudo ./configure --enable-gexec --sysconfdir=/etc/ganglia
e)讓gmond.init與gmetad.init服務隨機啟動或者是修改heartbeat的haresources配置文件,讓heartbeat來接管gmond.init與gmetad.init(但僅限是在lvs服務器上)
f)因為gmond與gmetad默認會去/etc/ganglia目錄下找配置文件,所以
11)mkdir /etc/ganglia;/Data/apps/ganglia-3.1.1/sbin/gmond --default_config>/etc/ganglia/gmond.conf
修改gmond.conf中如下內容(只修改下面內容即可,其它默認):
cluster {
name = "360quan"(同你在gmetad.conf配置文件中指定的集群名)
owner = "360quan"(同上)
latlong = "360quan"(同上)
url = "360quan"(同上)
}
/* The host section describes attributes of the host, like the location */
host {
location = "$hostname"(你你所在節(jié)點主機名)
}
更改/etc/ganglia/gmetad.conf 中的data─source
這行,使其適合你自己的集群環(huán)境。如下
data_source "360quan" localhost 60.28.208.*
"360quan"是指集群名(可以任意,但gmond.conf文件中集群名需與此一致),后面參數(shù)是指你集群節(jié)點的ip地址也可以是主機名
sudo sh gmetad/gmetad -d 3 通過該命令檢查gmetad服務為什么起不來
sudo chown nobody /usr/local/rrdtool 修改rrdtool權限為nobody
sudo /sbin/service gmetad start 啟動服務
22)創(chuàng)建/var/lib/ganglia/rrds目錄,gmond會將監(jiān)測到的節(jié)點信息放至此目錄
{ f)將源代碼下的web目錄挎至apache2根目錄下,修改conf.php配置文件,只更改下面內容即可
# Where gmetad stores the rrd archives.
$gmetad_root = "/var/lib/ganglia";
$rrds = "$gmetad_root/rrds";
# Leave this alone if rrdtool is installed in $gmetad_root,
# otherwise, change it if it is installed elsewhere (like /usr/bin)
define("RRDTOOL", "/usr/bin/rrdtool");
} 這步操作可以不做
6)在集群服務器內的節(jié)點上安裝ganglia-3.1.7.tar.gz
a)tar xvzf ganglia-3.1.7.tar.gz
b)./configure \
--prefix=/usr/local/ganglia --with-librrd=/usr/local/rrdtool \
--with-libapr=/usr/local/apr --with-libexpat=/usr/local/expat \
--with-libconfuse=/usr/local/confuse --enable-gexec \
--enable-status
(./configure --prefix=/Data/apps/ganglia-3.1.1 --with-librrd=/usr/local/rrdtool-1.0.50 --with-libapr=/usr/local/apr-1.3.3 --with-libexpat=/usr/local/expat-2.0.1 --with-libconfuse=/usr/local/confuse-2.6 --enable-gexec)
(注意:少了--with-gmetad選項,gmetad服務程序只是在集群節(jié)點管理器是必須的,它主要功能是輪詢gmond程序,統(tǒng)計gmond檢測到的集群節(jié)點信息,結合rrdtool函數(shù)庫以便管理員能夠以web方式直觀的檢測節(jié)點的相關信息。
c)make;make install
其它安裝方法同上,不重復
7)先啟動集群節(jié)點的gmond.init程序,檢查8649端口是否啟動,然后再啟動集群節(jié)點管理器上的gmond.init與gmetad.init 程序,檢查8649與8651/8652端口是否啟動。如果一切正常,現(xiàn)在你你可以通過web方式檢測集群節(jié)點的相關信息了。
***************
安裝后不顯示圖形
如果你在RHEL 4以上版本安裝Ganglia那么就是SELinux在作怪,可以關閉SELinux
或者執(zhí)行以下步驟:
vi /etc/selinux/targeted/contexts/files/file_contexts
添加:
/var/lib/ganglia/rrds(/.*)? system_u:object_r:httpd_sys_script_exec_t
保存退出
執(zhí)行:setfiles /etc/selinux/targeted/contexts/files/file_contexts /var/lib/ganglia/rrds/
如果還有問題
vi /var/www/html/ganglia/conf.php
$gmetad_root = "/usr/local/rrdtool/";
$rrds = "$gmetad_root";
將define("RRDTOOL", "/usr/local/rrdtool/bin/rrdtool"); 修改成自己的rrdtool路徑
sudo yum -y install httpd
sudo yum -y install php