现在基本安装已完成,需要设置几个配置项才能运行。执行以下步骤:
处理命令行文件。 修改 /etc/ganglia/gmond.conf。 注意多宿主(multi-homed)计算机。 在管理服务器中启动它。如下所示:
cd /tmp/ganglia-3.1.1/ # you should already be in this directory mkdir -p /var/www/html/ganglia/ # make sure you have apache installed cp -a web/* /var/www/html/ganglia/ # this is the web interface cp gmetad/gmetad.init /etc/rc.d/init.d/gmetad # startup script cp gmond/gmond.init /etc/rc.d/init.d/gmond mkdir /etc/ganglia # where config files go gmond -t | tee /etc/ganglia/gmond.conf # generate initial gmond config cp gmetad/gmetad.conf /etc/ganglia/ # initial gmetad configuration mkdir -p /var/lib/ganglia/rrds # place where RRDTool graphs will be stored chown nobody:nobody /var/lib/ganglia/rrds # make sure RRDTool can write here. chkconfig --add gmetad # make sure gmetad starts up at boot time chkconfig --add gmond # make sure gmond starts up at boot time步骤 2:修改 /etc/ganglia/gmond.conf
现在可以修改 /etc/ganglia/gmond.conf 以命名集群。假定集群名称为 “matlock”;则可以将 name = "unspecified" 更改为 name = "matlock"。
在我的集群中,eth0 是我的系统的公共 IP 地址。但是,监视服务器将通过 eth1 与私有集群网络中的节点进行通信。我需要确保 Ganglia 使用的多点传送将与 eth1 绑定在一起。这可以通过创建 /etc/sysconfig/network-scripts/route-eth1 文件来完成。添加 239.2.11.71 dev eth1 内容。
然后您可以使用 service network restart 重新启动网络并确保路由器显示此 IP 通过 eth1。注:您应当使用 239.2.11.71,因为这是 ganglia 的默认多点传送通道。如果使用其他通道或者增加更多通道,请更改它。
现在您可以在监视服务器中完全启动它:
service gmond start service gmetad start service httpd restart停止 Web 浏览器并将其指向位于 的管理服务器。您将看到管理服务器现在处于受监视状态。您还将看到若干度量数据正受到监视并绘制曲线图。最有用的曲线图之一是您可以监视这台计算机中的负载情况。下面是我的计算机的负载情况图:
图 1. 监视负载
没有发生什么操作,计算机只是处于空闲状态。
到现在为止,我们已经完成了在管理服务器中运行 Ganglia 的工作;现在必须更多地关注计算节点。事实证明只需复制一些文件就可以把 Ganglia 放到计算节点上。这是在使用 Kickstart 时可以添加到安装后脚本中的内容或是可以添加到其他更新工具中的内容。
快速但粗糙的方法是这样的:创建一个含有所有主机名的文件。假定您有 deathstar001-deathstar100 节点。则将拥有类似如下所示的名为 /tmp/mynodes 的文件:
deathstar001 deathstar002 ...skip a few... deathstar099 deathstar100现在只需运行以下代码:
# 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.1.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/ ssh $i service gmond start done您可以重新启动 gmetad,刷新 Web 浏览器,然后应当会看到节点现在出现在列表中。
您可能会遇到下面这些潜在的问题:
您可能也需要按照前面的步骤 3 那样对节点明确设置静态路由。 您的防火墙可能会阻塞端口。gmond 将在端口 8649 上运行。如果 gmond 是在计算机中运行,您应当能够运行 telnet localhost 8649 命令。并看到一些 XML 输出滚动显示在屏幕中。