基础配置:
- Hadoop 2.2.0,Hbase 0.96。
- 四台集群机器,一台master,三台slave。
- 三台slave上分别装gmond;namenode机器上设置datasource。
客户端:
- 安装
wget:sudo yum -y install wget
- 安装epel库:
a) 下载epel repo公钥:
wget http://ftp.riken.jp/Linux/fedora/epel/RPM-GPG-KEY-EPEL-6
b)安装公钥:
sudo rpm --import RPM-GPG-KEY-EPEL-6
c)下载epel软件:
wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
d) 安装epel软件包:
sudo rpm -ivh epel-release-6-8.noarch.rpm
e)检验是否成功安装:
rpm -qa \*-release\*
3. Client端只需安装gmond:sudo
yum install ganglia-gmond
4. 配置:
a)以root身份运行vi
/etc/ganglia/gmond.conf,将文件中cluster字段的name改为“ganglia_hadoop”,这个名字是自己命名的,只要保证集群中所
有机器cluster字段的name一致即可。
b)设置开机运行数据采集进程:chkconfig --levels 235
gmond on
5. 客户端启动gmond:service
gmond start
有[确定]出现说明启动成功。
服务器端:
- 安装epel库:同上述客户端安装。
- Server需安装依赖包(rrdtool)以及网页显示需要的包(httpd,php),最后还有gmetad和gmond:
yum install rrdtool ganglia ganglia-gmetad ganglia-gmond ganglia-web httpd php
3. 配置:
a)以root身份运行vi
/etc/ganglia/gmond.conf,将文件中cluster字段的name改为“ganglia_hadoop”,即上述客户端的name。这里保持 gmond.conf里面的其他设置不变,即多播模式。
b) 以root身份运行vi
/etc/ganglia/gmetad.conf,设置一个数据源。将datasource的名称和上面的gmond.conf中的名称包成一致,ip为master的 ip,如果ip地址中不指定端口,就默认使用ganglia默认端口8469。
c)开机运行采集进程:
chkconfig --levels 235 gmond on
开机运行数据存储进程:
chkconfig --levels 235 gmetad on
开机运行apache服:
chkconfig --levels 235 httpd on
4. 启动:
sudo service gmond startsudo service gmetad start
sudo service httpd start
这里遇到一个bug:
解决的方法是编辑sudo vi
/etc/httpd/conf/httpd.conf,将文件中的#ServerName example:80改成ServerName
localhost:80,再次启动httpd即可。
启动成功后如图:
5. 这时候访问http://192.165.59.99/ganglia会得到如下报错:Forbidden
You don‘t have permission to access /ganglia on this server。
解决的方法:
a) 运行命令禁用SELinux:setenforce 0
b)运行sudo vi
/etc/httpd/conf.d/ganglia.conf,将Deny from all注释掉就可以了。
c)重启httpd:sudo service httpd
restart
d)注释:如果这里不是把ganglia安装在namenode上,而是另外一个不在集群里面的机器上,那么还要把Allow
from 127.0.0.1,Allow from ::1注 释掉,改成Allow from all
最终结果
通过浏览器访问http://192.165.59.99/ganglia/得到如下信息:
参考资料:http://blog.csdn.net/fp196391196391/article/details/8349297
Ganglia安装配置,码迷,mamicode.com