安装ganglia 1.默认已经配置好相关的主机名和Ip地址映射关系
2.默认已经安装好ssh密码登陆
3.默认已经配置好yum源和相关网络配置(如hosts 可在墙外)
4.服务器端安装(除了yum安装以外 其他操作均需以hadoop或者普通用户权限操作)
1.安装相关依赖包
yum -y install zlib libpng jpeg freetype2 libxml2 gdphp-mbstring
perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker pcre* expat*
apr-devel apr-util check-devel cairo-devel pango-devel libxml2-devel
rpmbuild glib2-devel dbus-devel freetype-devel fontconfig-devel
gcc-c++ expat-devel python-devel libXrender-devel
2.安装rrdtool-1.5.5(/opt/rrdtool-1.5.5)
tar zxvf rrdtool-1.5.5.tar.gz
cd rrdtool-1.5.5
./configure CFLAGS=-fPIC --disable-nls //编译
make && make install //安装
echo /usr/local/lib > /etc/ld.so.conf.d/libconfuse.conf //调整lib库的位置
ldconfig -v //刷新
/opt/rrdtool-1.5.5/bin/rrdtool //验证 不报错 则成功 //删除压缩包
3.安装confuse-2.7(/opt/confuse-2.7)
./configure CFLAGS=-fPIC –-disable-nls
make
make install //删除压缩包
4.安装apache (/opt/apache)
tar zxvf httpd-2.2.23.tar.gz
cd httpd-2.2.23
cd srclib/apr
./configure --prefix=/usr/local/apr //编译 apr 输出目录是/usr/local/apr
make && make install //安装 cd ../apr-util
./configure –-prefix=/usr/local/apr-util //编译apr-util 输出目录是/usr/local/apr-util
–-with-apr=/usr/local/apr //引用上一步apr编译的输出目录
make && make install //安装 cd /opt/httpd-2.2.23
./configure --prefix=/opt/apache //编译apache 输出目录是 /opt/apache
--with-arp=/usr/local/apr //引用 不一定要这样 但必须跟上面一致
--with-apr-util=/usr/local/apr-util //引用 不一定要这样 但必须跟上面一致 make && make install //安装 http://hadoop.master:80 //验证 可访问表示安装成功 可修改conf/httpd.conf 的端口参数 默认是80 //最后可将解压的目录和压缩包删除掉
5.安装php(/opt/php)
tar zxvf php-5.4.10.tar.gz
cd php-5.4.10
./configure --prefix=/opt/php //编译php 输出目录/opt/php
--with-apxs2=/opt/apache/bin/apxs //引用 不一定要这样 但必须跟上面apache一致
--with-mysql=mysqlnd
make && make test && make install //安装 //安装完成后在 apache的安装目录 /opt/apache/htdocs 下创建 index.php文件 内容如下:
<?
phpinfo();
?>
//此时访问http://hadoop.master:80 可以显示一些服务器的相关信息 //如果还不能显示则操作一下步骤:
1.找到libphp5.so 并将其拷贝到/opt/apache/modules目录中
find / -name "libphp5.so"
cp 所在目录/libphp5.so /opt/apache/modules
2.打开/opt/apache/conf/httpd.conf 添加如下内容:
<FilesMatch "\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.ph(p[2-6]?|tml)$">
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>
LoadModule php5_module modules/libphp5.so
<ifModule dir_module>
DirectoryIndex index.html index.php
</ifModule>
3.重启apache
/opt/apache/bin/apachectl restart //最后可将解压的目录和压缩包删除掉
6.安装ganglia服务器(/opt/ganglia)
tar zxvf ganglia-3.7.2.tar.gz
cd ganglia-3.7.2
./configure --prefix=/opt/ganglia //编译ganglia 输出目录/opt/ganglia
--with-gmetad //服务端编译
--enable-gexec
--with-python=/usr/local
–with-librrd=/usr/bin //rrdtool所在目录 一般不用修改 如果该目录下没有rrdtool 则修改成有rrdtool的目录
make && make install cp /opt/ganglia/lib64/libganglia* /lib64 //将相关的库类拷贝到/lib64 目录下 mkdir -p /var/lib/ganglia/rrds //为rrdtool创建数据存放目录
chown -R hadoop:hadoop /var/lib/ganglia/rrds //修改目录所有者 //修改/opt/ganglia/etc/gmetad.conf 目录下的配置文件
data_source "hadoop cluster" 192.168.22.241 //其中hadoop cluster 随意起 192.168.22.241为主服务器Ip
gridname "hadoop" //名字随意起
setuid_username "hadoop" //跟系统用户名需一致
xml_port 8651
interactive_port 8652
rd_rootdir "/var/lib/ganglia/rrds" //指向刚才创建的rrds目录
case_sensitive_hostnames 0 //常用命令
/opt/ganglia/sbin/gmetad {start,stop,restart} //启动,停止,重启
/opt/ganglia/sbin/gmetad -d 2 //调试模式
ps -aux|grep gmetad //查看是否启动成功 7.安装ganglia-web(/opt/apache/htdocs/ganglia)
tar zxvf ganglia-web-3.7.1.tar.gz
mv ganglia-web-3.7.1/ /opt/apache/htdocs //将解压的目录全部拷贝到apache的目录下
cd /opt/apache/htdocs
mv ganglia-web-3.7.1 ganglia //更改目录名
mkdir -p /opt/apache/htdocs/ganglia/dwoo/cache
chmod 777 /opt/apache/htdocs/ganglia/dwoo/cache
mkdir -p /opt/apache/htdocs/ganglia/dwoo/compiled //如果不创建这两个目录会报错
chmod 777 /opt/apache/htdocs/ganglia/dwoo/compiled
vim /opt/apache/htdocs/ganglia/Makefile
GDESTDIR = /opt/apache/htdocs/ganglia //指向ganglia-web的安装目录
APACHE_USER = daemon ccp conf_default.php conf.php //安装目录下 复制参数文件
vim conf.php
修改内容如下:
$conf['gweb_confdir'] = "/opt/apache/htdocs/ganglia"; //ganglia-web安装目录
$conf['gmetad_root'] = "/var/lib/ganglia";
$conf['rrds'] = "${conf['gmetad_root']}/rrds"; //rrds的目录
$conf['rrdtool'] = "/usr/bin/rrdtool"; //指向有rrdtool的目录
$conf['external_location'] = "http://hadoop.master:10000/ganglia"; //服务器主机名:10000/ganglia 端口号和ganglia别改
$conf['case_sensitive_hostnames'] = false; //最后可将解压的目录和压缩包删除掉
8.安装ganglia客户端(服务器也需要安装)
cd ganglia-3.7.2 //注意是解压目录 不是安装目录
./gmond –t > /opt/ganglia/etc/gmond.conf //生成配置文件 //修改gmond.conf
globals {
daemonize = yes
setuid = yes
user = hadoop //系统用户名
....
} cluster {
name = "hadoop cluster" //需要跟服务器中设置的名字一致 服务器配置文件中 data_source
owner = "hadoop" //需要跟服务器中设置的名字一致 服务器配置文件中 gridname
latlong = "unspecified"
url = "unspecified"
} tcp_accept_channel {
port = 8649
# If you want to gzip XML output
gzip_output = no
acl{
default = "deny"
access{
ip = 192.168.22.241 //服务器IP
mask = 32
action = "allow"
}
}
} /opt/ganglia/sbin/gmond {start,stop,restart} //启动,停止,重启
/opt/ganglia/sbin/gmond -d 2 //调试模式
ps -aux|grep gmond //查看是否启动成功 9.共享库配置信息
在/etc/ld.so.conf文件中添加/usr/local/lib
然后保存退出
执行ldconfig 更新操作 5.集群客户端安装
1.安装apr-1.3.9-5.el6_2.x86_64.rpm(注意安装后删除源码包)
rpm -ivh apr-1.3.9-5.el6_2.x86_64.rpm
2.安装apr-devel-1.3.9-5.el6_2.x86_64.rpm(注意安装后删除源码包)
rpm -ivh apr-devel-1.3.9-5.el6_2.x86_64.rpm
3.将服务器端的ganglia最终安装目录拷贝过来
scp /opt/ganglia [email protected]:/opt
4.将相关的库类拷贝到/lib64 目录下
cp /opt/ganglia/lib64/libganglia* /lib64
5.启动
/opt/ganglia/sbin/gmond start 6.配置过程中可能出现的错误
1.安装rrdtool过程中提示pkg-config错误
解决办法:一般是库没有装全,记得要安装dev库(尽可能使用yum安装 因为存在着依赖库的可能性)
2.安装ganglia过程中找不到confuse,expat,apr等库
解决办法:如果是64位机,ganglia会在依赖库的lib64目录下去查找文件,所以需要将lib目录下文件拷贝到lib64目录下,建议创建软连接
3.gmetad启动失败:gmetad dead but subsys locked
解决办法:gmetad.conf中setuid_username的用户名需要跟rrds数据目录的owner一致
4.访问网页保错Forbidden,You don’t have permission to access /ganglia/ on this server
解决办法: 1.关闭SELinux 2.修改apache httpd.conf里面的访问权限参数