ganglia的安装

安装过程
1.安装依赖包:
yum -y install 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 pcre pcre-devel

2.重新build libconfuse
1) 下载libconfuse
wget ftp://ftp.icm.edu.pl/vol/rzm1/linux-fedora-secondary/development/source/SRPMS/libconfuse-2.6-1.fc9.src.rpm
2) yum -y install check-devel
3) 切换到libconfuse-2.6-1.fc9.src.rpm包所在的目录
4) rpmbuild --rebuild libconfuse-2.6-1.fc9.src.rpm
cd /usr/src/redhat/RPMS/x86_64/
rpm -ivh libconfuse-devel-2.6-1.x86_64.rpm libconfuse-2.6-1.x86_64.rpm

3.#安装RRDTool,存储ganglia收集的数据
cd /tmp/
wget http://oss.oetiker.ch/rrdtool/pub/rrdtool.tar.gz
tar zxvf rrdtool*
cd rrdtool-*
./configure --prefix=/usr
make -j8
make install
which rrdtool
ldconfig
ldconfig -p | grep rrd # make sure you have the new rrdtool libraries linked.


数据存放在/var/lib/ganglia/rrds目录中

4.安装ganglia,默认/etc/ganglia的,这里安装是ganglia的3.1.7版本
1) 下载ganglia tarball
cd /tmp/
wget http://sourceforge.net/projects/ganglia/files/ganglia%20monitoring%20core/3.1.7/ganglia-3.1.7.tar.gz/download
2)tar zxvf ganglia*gz
cd ganglia-3.1.7/
./configure --with-gmetad --sysconfdir=/etc/ganglia
make -j8
make install

5.配置ganglia
1) cd /tmp/ganglia-3.1.7/ # you should already be in this directory
2) mkdir -p /var/www/html/ganglia/ # make sure you have apache installed
3) cp -a web/* /var/www/html/ganglia/ # this is the web interface
4) cp gmetad/gmetad.init /etc/rc.d/init.d/gmetad # startup script
5) cp gmond/gmond.init /etc/rc.d/init.d/gmond
6) mkdir /etc/ganglia # where config files go,if existing ,no making
7) gmond -t | tee /etc/ganglia/gmond.conf # generate initial gmond config,if existing ,no making
8) cp gmetad/gmetad.conf /etc/ganglia/ # initial gmetad configuration
9) mkdir -p /var/lib/ganglia/rrds # place where RRDTool graphs will be stored
10) chown nobody:nobody /var/lib/ganglia/rrds # make sure RRDTool can write here.
11) chkconfig --add gmetad # make sure gmetad starts up at boot time
chkconfig --add gmond # make sure gmond starts up at boot time

6.设置监控信息
通过修改/etc/ganglia下的gmond.init 和 gmetad.init文件,配置ganglia的监控配置,具体的配置,可以参考同级文章

在gmetad.conf中主要修改datasource部分

在gmond.conf中主要修改广播主机及端口部分,代码段如下:

单播实例

udp_send_channel {
 # mcast_join = 239.2.11.71
  #port = 8649
  #ttl = 1
  host = 10.10.79.196
  port = 8681
}

/* You can specify as many udp_recv_channels as you like as well. */
udp_recv_channel {
  #mcast_join = 239.2.11.71
  #port = 8649
port = 8681
#bind = 239.2.11.71
}

多播实例为注释部分

7. 如果是多宿主计算机,则需要进行该步骤,否则略过
#如在集群中,eth0 是系统的公共 IP 地址。但是,监视服务器将通过 eth1 与私有集群网络中的节点进行通信。需要确保 Ganglia 使用的多点传送将与 eth1 绑定在一起。这可以通过 创建 /etc/sysconfig/network-scripts/route-eth1 文件来完成。添加 239.2.11.71 dev eth1 内容-根据实际情况填写广播IP。

这个要根据实际情况,如果网卡为em1,则建立文件route-em1 ,内容为239.2.11.71 dev em1

#然后您可以使用 service network restart 重新启动网络并确保路由器显示此 IP 通过 eth1。注:您应当使用 239.2.11.71,因为这是 ganglia 的默认多点传送通道。如果使用其他通道或者增加更多通道,请更改它。
touch /etc/sysconfig/network-scripts/route-eth1
echo "239.2.11.71 dev eth1">>/etc/sysconfig/network-scripts/route-eth1
service network restart

8. 启动服务,观察是否安装ganglia单机成功
service gmond start
service gmetad start
service httpd restart

9. 安装集群客户端
#通过脚本修改配置需要监控的节点,注意我们这里ganglia_m同时也为hadoopbj01,已经配置好gmond,因此下面的脚本中只需配置hadoopbj02~hadoopbj03
1) 生成mynodes文件,记录需要安装的客户端集群
touch /tmp/mynodes
vi /tmp/mynodes
hadoopbj02
hadoopbj03
2) 需要执行的安装脚本
touch /tmp/configure-all-ganglia
vi /tmp/configure-all-ganglia

for i in `cat /tmp/mynodes`; do
scp /usr/sbin/gmond $i:/usr/sbin/gmond
ssh $i "mkdir -p /etc/ganglia/"
scp /etc/ganglia/gmond.conf $i:/etc/ganglia/
scp /etc/init.d/gmond $i:/etc/init.d/
scp /usr/lib64/libganglia-3.1.7.so.0 $i:/usr/lib64/
scp /lib64/libexpat.so.0 $i:/lib64/
scp /usr/lib64/libconfuse.so.0 $i:/usr/lib64/
scp /usr/lib64/libapr-1.so.0 $i:/usr/lib64/
scp -r /usr/lib64/ganglia $i:/usr/lib64/
scp /etc/sysconfig/network-scripts/route-eth1 $i:/etc/sysconfig/network-scripts/ #如果是多宿主计算机,则需要,否则可以省去
ssh $i "service network restart" #如果是多宿主计算机,则需要,否则可以省去
ssh $i "service gmond start"
ssh $i "chkconfig --add gmond"
done
3) 执行脚本sh /tmp/configure-all-ganglia

10.启动ganglia服务,参考观察页面
http://hadoopbj01/ganglia/

备注:
还发现一个问题,79.196的gmond需要在其他机器起来之前启动,否则无法获取其他机器的配置信息。

你可能感兴趣的:(JOIN,集群,脚本,service,NetWork,interface)