gmetad和ganglia的web程序部署在192.168.1.138上。
==================== gmond安装====================
先介绍gmond的安装。
ganglia-3.5.0 #6
|-- apr-util-1.5.4 #2
|-- |-- apr-1.5.2 #1
|-- confuse-2.5 #3
|-- pcre-8.20 #4
|-- rrdtool-1.4.3 #5
ganglia-3.5.0依赖于apr、apr-util、confuse、pcre、rrdtools这五个包,安装顺序是apr、apr-util、confuse、pcre、rrdtools。安装三部曲./configure,make和make install。
!!!apr-util依赖于apr包。安装配置apr-util的时候用参数“--with-apr=/usr/local/apr/bin”。
!!!安装完apr和apr-util之后需要配置环境变量。
APR_CFLAGS=/usr/local/apr/include
export APR_CFLAGS
APR_LIBS=/usr/local/apr/lib
export APR_LIBS
export PATH=$PATH:/usr/local/apr/bin
!!!安装配置confuse的时候用参数“CFLAGS=-fPIC --disable-nls”。
!!!如果pcre编译失败,手工安装gcc-4.1.2,使用参数“-enable-threads=posix -disable-checking -disable-multilib -enable-languages=c,c++”。
!!!安装配置ganglia(gmond)的时候用参数“--with-python=/usr/bin/python2.4”。
gmond安装完成之后要做一些系统配置。
1、生成和配置gmond.conf
<< 生成gmond.conf文件
ganglia-3.5.0 # gmond/gmond -t > /usr/local/etc/gmond.conf
/usr/local/etc/gmond.conf为gmond加载配置的默认路径
<< 配置gmond.conf
138、141和142三台机的gmond配置都配成如上的cluster和udp_send_channel,都只单播消息到138的gmond上面。
cluster {
name = "Hadoop-CDH"
owner = "unspecified"
latlong = "unspecified"
url = "unspecified"
}
udp_send_channel {
host = 192.168.1.138
port = 8649
}
138的udp_recv_channel配置如下,只接受发送给138的单播消息:
udp_recv_channel {
port = 8649
bind = 192.168.1.138
retry_bind = true
}
141和142的udp_recv_channel配置一样,接受内网的多播消息(也可以在global里配置成deaf不接受任何消息):
udp_recv_channel {
mcast_join = 239.2.11.71
port = 8649
bind = 239.2.11.71
retry_bind = true
}
2、配置gmond随机自启动。
<< 拷贝gmond命令到自启动区域
cp gmond/gmond.init.SuSE /etc/rc.d/gmond
<< 开启gmond自启动:chkconfig --add gmond
查看是否配置成功:chkconfig --list gmond
<< 建立命令软链接
ln -s /usr/local/sbin/gmond /usr/sbin/gmond
/usr/sbin/gmond是/etc/rc.d/gmond中指定的命令执行位置
<< 执行ldconfig -v重新加载库文件。
<< 启动gmond:service gmond start
查看gmond运行状态:service gmond status
<< 用gstat -a1命令查看收到的广播消息
suse10t138:~ # gstat -a1
CLUSTER INFORMATION
Name: Hadoop-CDH
Hosts: 3
Gexec Hosts: 0
Dead Hosts: 0
Localtime: Tue Feb 2 16:48:18 2016
CLUSTER HOSTS
Hostname LOAD CPU Gexec
CPUs (Procs/Total) [ 1, 5, 15min] [ User, Nice, System, Idle, Wio]
suse10t143 8 ( 0/ 494) [ 0.02, 0.02, 0.00] [ 0.0, 0.0, 0.0, 100.0, 0.0] OFF
suse-142 8 ( 0/ 531) [ 0.03, 0.01, 0.00] [ 0.0, 0.0, 0.0, 100.0, 0.0] OFF
suse10t138 8 ( 0/ 781) [ 0.48, 0.22, 0.12] [ 0.0, 0.0, 0.1, 99.4, 0.5] OFF
suse10t138:~ #
rrdtool的安装特别麻烦,单独开一个章节。
==================== rrdtool安装====================
rrdtool-1.4.3 #11
|-- libxml2-2.6.31 #10
|-- pango-1.21.1 #9
| |-- pkg-config-0.23 #8
| |-- |-- glib-2.20.0 #7
| |-- cairo-1.6.4 #6
| |-- |-- pixman-0.10.0 #3
| |-- |-- zlib-1.2.8 #2
| |-- |-- |-- libpng-1.2.18 #1
| |-- |-- freetype-2.3.5 #4
| |-- |-- fontconfig-2.4.2 #5
rrdtool依赖于libxml2和pango这两个包。pango依赖于pkg-config、glib和cairo这三个包。cairo依赖于pixman、zlib、libpng、freetype和fontconfig这五个包。pkg-config依赖于glib包。zlib依赖于libpng包。安装顺序如下:libpng、zlib、pixman、freetype、fontconfig、cairo、glib、pkg-config、pango、libxml2、rrdtool。
==================== gmetad安装====================
138上的gmetad安装,和gmond类似,可以在安装配置时指定参数“--with-gmetad --with-python=/usr/bin/python2.4”,能同时安装上gmond和gmetad。
gmetad安装完成之后要做一些系统配置。
1、配置gmetad.conf
<< 拷贝gmetad.conf
ganglia-3.5.0 # cp gmetad/gmetad.conf /usr/local/etc/gmetad.conf
/usr/local/etc/gmetad.conf为gmetad加载配置的默认路径
<< 配置gmetad.conf,gmetad只接收和处理138上gmond的消息
data_source "Hadoop-CDH" 192.168.1.138:8649
gridname "Hadoop-Grid"
# default: "/var/lib/ganglia/rrds"
# rrd_rootdir "/some/other/place"
rrdtool会写文件到/opt/rrdtool-1.4.3下
ls /opt/rrdtool-1.4.3/Hadoop-CDH/
__SummaryInfo__ suse10t138 suse10t143 suse-142
建立软链接:ln -s /opt/rrdtool-1.4.3 /var/lib/ganglia/rrds,让gmetad可以读取rrdtool写下的文件
更改目录权限:chown -R nobody:nobody /opt/rrdtool-1.4.3
2、配置gmetad随机自启动。
<< 拷贝gmetad命令到自启动区域
cp gmetad/gmetad.init.SuSE /etc/rc.d/gmetad
<< 开启gmetad自启动:chkconfig --add gmetad
查看是否配置成功:chkconfig --list gmetad
<< 建立命令软链接
ln -s /usr/local/sbin/gmetad /usr/sbin/gmetad
/usr/sbin/gmetad是/etc/rc.d/gmetad中指定的命令执行位置
<< 执行ldconfig -v重新加载库文件。
<< 启动gmetad:service gmetad start
查看gmetad运行状态:service gmetad status
==================== ganglia web安装====================
ganglia-web-3.7.1 #3
|-- php-5.6.17 #2
|-- |-- httpd-2.4.18 #1
ganglia-web依赖于httpd和php。安装顺序如下:httpd、php和ganglia-web。
<< httpd安装
<< php安装配置的时候指定参数“--with-apxs2=/usr/local/apache2/bin/apxs”。会在目录/usr/local/apache2/modules/下生成文件libphp5.so。
<< ganglia的web程序安装
chmod -R 777 /var/lib/ganglia-web #给予读写权限
编辑ganglia的web程序的MakeFile
# Location where gweb should be installed to (excluding conf, dwoo dirs).
GDESTDIR = /usr/local/apache2/ganglia
# Location where default apache configuration should be installed to.
GCONFDIR = /usr/local/apache2/ganglia/conf
# Gweb statedir (where conf dir and Dwoo templates dir are stored)
GWEB_STATEDIR = /var/lib/ganglia-web
# Gmetad rootdir (parent location of rrd folder)
GMETAD_ROOTDIR = /var/lib/ganglia
APACHE_USER = root
安装命令:make install
<< ganglia的web配置
编辑文件/usr/local/apache2/ganglia/conf.php
$conf['rrdtool'] = "/opt/rrdtool-1.4.3/bin/rrdtool";
#$conf['jquery_js_path'] = "http://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js";
#$conf['jquerymobile_js_path'] = "http://cdnjs.cloudflare.com/ajax/libs/jquery-mobile/1.4.5/jquery.mobile.min.js";
#$conf['jqueryui_js_path'] = "http://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js";
#$conf['rickshaw_js_path'] = "http://cdnjs.cloudflare.com/ajax/libs/rickshaw/1.5.1/rickshaw.min.js";
#$conf['cubism_js_path'] = "http://cdnjs.cloudflare.com/ajax/libs/cubism/1.6.0/cubism.v1.min.js";
#$conf['d3_js_path'] = "http://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js";
#$conf['protovis_js_path'] = "http://cdnjs.cloudflare.com/ajax/libs/protovis/3.3.1/protovis.min.js";
将这些js下载到目录/usr/local/apache2/ganglia/js/下
<< php配置
suse10t138:~ # php -ini | grep php.ini
Configuration File (php.ini) Path => /usr/local/lib
Loaded Configuration File => /usr/local/lib/php.ini
php.ini配置默认位置在目录/usr/local/lib下,增加下面的配置,解决时区的问题
date.timezone = Asia/Shanghai
<< httpd配置
LoadModule php5_module modules/libphp5.so #加载php模块
AddType application/x-httpd-php .php #增加php类型
ServerName 192.168.1.138:80 #设置主机名
AllowOverride none
#Require all denied
Allow from all
Alias /ganglia "/usr/local/apache2/ganglia"
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
DirectoryIndex index.html index.php
<< httpd启动
/usr/local/apache2/bin/apachectl start
访问地址http://192.168.1.138/ganglia/即可
当时安装的时候很多细节忘记了,应该有遗漏的地方,但真的不想重来一遍了。。。
参考文档:
Install Ganglia on Redhat5+: http://www.winseliu.com/blog/2014/07/18/install-ganglia-on-redhat/
安装配置Gangli: http://www.winseliu.com/blog/2016/01/23/install-and-config-ganglia-on-redhat-2/
维基百科的ganglia的web地址: https://ganglia.wikimedia.org/latest/
rrdtool安装: http://oss.oetiker.ch/rrdtool/doc/rrdbuild.en.html#IBUILDING_DEPENDENCIES