环境:
centos6.5x64 ,cdh5.1.0
三个节点:
c1:gmeta gmond(gmeta类似于namenode,gmond 相当于datanode)主节点
c2: gmond (相当于datanode)
c3:gmond(相当于datanode)
一.Ganglia介绍
Ganglia是UC Berkeley发起的一个开源集群监视项目,设计用于测量数以千计的节点。Ganglia的核心包含gmond、gmetad以及一个Web前端。主要是用来监控系统性能,如:cpu、mem、硬盘利用率, I/O负载、网络流量情况等,通过曲线很容易见到每个节点的工作状态,对合理调整、分配系统资源,提高系统整体性能起到重要作用。(来自百度百科)
二.前期工作EPEL的安装
EPEL(Extra Packages for Enterprise Linux),这是针对RHEL设计的软件仓库,在这个仓库中有很多免费的常用软件,由Fedora项目维护,如果使用的是RHEL,CentOS,Scientific等RHEL系列的linux,可以非常方便的使用EPEL的yum源。
查看本机是否安装了EPEL:
rpm -q epel-release
package epel-release is not installed
如果没有安装,可以选择下面的情况来安装:
64位系统选择:
wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm rpm -ivh epel-release-6-8.noarch.rpm
导入key:(此步可以忽略)
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
安装后可以查看,得到:
rpm -q epel-release
epel-release-6-8.noarch
三.ganglia的安装
目前集群有三个节点:c1, c2, c3,其中c1为主节点
1.服务端安装
在服务器中需要安装
sudo yum -y install ganglia ganglia-devel ganglia-gmetad ganglia-gmond ganglia-web ganglia-gmond-python
2.客户端安装
在客户端中需要安装
sudo yum -y install ganglia ganglia-gmond
四.ganglia的配置
1.服务端配置
sudo vim/etc/ganglia/gmetad.conf
data_source "my_cluster" datanode1 datanode2 datanode3
只需要更改data_source一行,"my_cluster"代表集群的名字,datanode1,datanode2datanode3,就是要监控的机器列表。默认端口8649。setuid_username "apache" (可以不设置)
2.客户端配置
sudo vim /etc/ganglia/gmond.conf
将cluster选项中 name设置为gmetad中data_source指定的名称("my_cluster")即可。如:
cluster {
name = "my_cluster"
owner = "unspecified "
latlong = "unspecified"
url = "unspecified"
}
其中name需要与gmetad.conf中data_source中的“ShaQi”匹配
owner需要与setuid_username中的值对应(如果没有设置,可以不用修改)
修改了setuid_username后需要对权限进行更改:
Chown -R apache:apache /var/lib/ganglia/rrds
否则使用service gmetad status时出现gmetad dead but subsys locked
3.Apache的服务端配置
vim /etc/httpd/conf.d/ganglia.conf
代码如下:
Alias /ganglia /usr/share/ganglia
<Location /ganglia>
Order deny,allow
Allow from all
</Location>
五、 关闭服务端的selinux(不然无法访问 web页面)
vim /etc/selinux/config
SELINUX=enforcing //改为disable
重启机器
可以使用命令setenforce0来关闭selinux而不需要重启,刷新页面,即可访问。
六.ganglia的启动
服务端启动:
service gmetad start
各节点启动:
service gmond start
启动apache web服务:(主节点)
service httpd start
七.测试
61 打开浏览器: http://serverip/ganglia。
6.2 在服务端输入下面的命令确定gmond工作是否正常:
#telnet node18649
#telnet node28649
#telnet node38649
按两次回车,你的屏幕此时应该显示一长串包括gmond监视的性能量度的XML