Ganglia监控Hadoop集群的安装部署 一、 安装环境
二、 介绍Ganglia 监控套件包括三个主要部分:gmond,gmetad,和网页接口,通常被称为ganglia- web。
一般来说一个集群的每台机器上都需要安装gmond,只要负责展示web界面的机器安装了gmetad即可。 三、 安装1.apt-get方式安装首先找一个结点当作web显示的结点,使用以下命令一键安装:
apt-get -y install ganglia-monitor ganglia-webfrontend 安装了ganglia-webfrontend就相当于同时安装了gmetad、ganglia-web和rrdtool等。 以 上安装的版本都是3.1.7,因为ubuntu官方源里面只支持到ganglia-webfrontend-3.1.7,起中使用的Ganglia Web Frontend版本也是3.1.7,版本太低,显示的界面很不友好,因此后面的文章我会介绍如何手动安装Ganglia Web Frontend version 3.5.7(目前最高版本已经到3.6)。如果为了方便,对于监控的界面要求不高的话,又图省事,可以用上述命令一键安装。 除了安装ganglia-webfrontend的主机,其他主机只需要安装ganglia-monitor即可。 2.链接到web服务器安装ganglia-webfrontend的时候就已经安装了Apache Web Server,Ganglia-webfrontend默认安装的位置是/usr/share/ganglia-webfront,现在还不能通过浏览器 访问Ganglia监控界面,需要执行以下命令将将ganglia的文件链接到apache的默认目录下。
ln -s /usr/share/ganglia-webfront /var/www/ganglia
四、 配置1.单播与组播在进行Ganglia集群配置之前,首先要搞清楚单播和组播。
关于单播和组播更详细的介绍和相关配置请参照:Ganglia快速开始向导(翻译自官方wiki) http://www.linuxidc.com/Linux/2013-11/92747.htm,或者直接查看官方wiki。 2.集群配置我的Ganglia监控集群使用了单播模式。所有的配置都在/etc/ganglia目录下,在每个节点上都要配置/etc/ganglia/gmond.conf.
红色字体为修改项。
globals {
daemonize = yes setuid = yes user = root /*运行Ganglia的用户*/ debug_level = 0 max_udp_msg_len = 1472 mute = no deaf = no host_dmax = 120 /*secs */ cleanup_threshold = 300 /*secs */ gexec = no send_metadata_interval = 15 /*发送数据的时间间隔*/ } cluster { udp_send_channel { 五、 启动Ganglia使用apt-get方式安装的Ganglia,可以直接用service方式启动。
六、 检验登录浏览器查看:http://192.168.52.105/ganglia,如果Hosts up为9即表示安装成功。
若安装不成功,有几个很有用的调试命令:
七、 Ganglia-web的安装因为3.1.7版本的Ganglia-web实在太丑,因此我卸载了ganglia-webfrontend,然后单独安装了gmetad后又安装了新版的Ganglia-web-3.5.10.
按照官方的说明,首先将tar.gz文件解压,然后进入解压后的目录,修改Makefile文件中的如下四个配置:
# Location where gweb should be installed to (excluding conf, dwoo dirs). 重新启动gmetad。登录http://192.168.52.105/ganglia后如果配置有问题可以根据网页中的报错修改。一般会出现文件读写权限错误,没有rrd目录就需要自己创建,conf和cache目录的权限需要修改为777。 监控界面截图:
八、 监控Hadoop集群修改Hadoop的配置文件/etc/hadoop/hadoop-metrics.properties,根据文件中的说明,修改三处:
dfs.class=org.apache.hadoop.metrics.ganglia.GangliaContext31
dfs.period=30 dfs.servers=192.168.52.105:8649 mapred.class=org.apache.hadoop.metrics.ganglia.GangliaContext31
mapred.period=30 mapred.servers=192.168.52.105:8649 jvm.class=org.apache.hadoop.metrics.ganglia.GangliaContext
jvm.class=org.apache.hadoop.metrics.ganglia.GangliaContext31 jvm.period=30 jvm.servers=192.168.52.105:8649 所有的servers都修改为安装为gmetad的机器IP。
重启Hadoop datanode:service hadoop-datanode restart
重启gmond:/usr/sbin/gmond restart
|