Ganglia监控Hadoop集群的安装部署
一、 安装环境
二、 介绍
Ganglia 监控套件包括三个主要部分:gmond,gmetad,和网页接口,通常被称为ganglia- web。
三、 安装
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集群配置之前,首先要搞清楚单播和组播。
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 { name = "hadoop_hf" /*集群名称*/ owner = "root" /*运行Ganglia的用户*/ latlong = "unspecified" url = "unspecified" } udp_send_channel { # mcast_join = 192.168.52.105 /*注释掉组播*/ host = 192.168.52.105 /*发送给安装gmetad的机器*/ port = 8649 ttl = 1 } 五、 启动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). GDESTDIR = /var/www/ganglia # Gweb statedir (where conf dir and Dwoo templates dir are stored) GWEB_STATEDIR = /var/lib/ganglia # Gmetad rootdir (parent location of rrd folder) GMETAD_ROOTDIR = /var/lib/ganglia APACHE_USER = root(切忌后面不要有空格)
监控界面截图:
八、 监控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
|