Ganglia 监控Hadoop

Ganglia监控Hadoop集群的安装部署

一、 安装环境

  • Ubuntu server 12.04
  • 安装gmetad的机器:192.168.52.105
  • 安装gmond的机 器:192.168.52.31,192.168.52.32,192.168.52.33,192.168.52.34,192.168.52.35,192.168.52.36,192.168.52.37,192.168.52.38,192.168.52.105
  • 浏览监控web页面的机器:192.168.52.105

二、 介绍

Ganglia 监控套件包括三个主要部分:gmond,gmetad,和网页接口,通常被称为ganglia- web。

  • gmond 是一个守护进程,他运行在每一个需要监测的节点上,收集监测统计,发送和接受在同一个组播或单播通道上的统计信息。
  • gme tad 也是一个守护进程,他定期检查gmonds ,从那里拉取数据,并将他们的指标存储在RRD存储引擎中。它可以查询多个集群并聚合指标。RRD也被用于生成用户界面的web前端。
  • ganglia- web 顾名思义,他应该安装在有gmetad运行的机器上,以便读取RRD文件。

一般来说一个集群的每台机器上都需要安装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 包安装默认的。唯一要做的就是把gmetad指向一个或几个运行着gmo nd的主机。没有必要列出每一个单个主机,因为gmo nd被设置为接受模式时会包含所有主机的列表以及整个集群的统计信息。

关于单播和组播更详细的介绍和相关配置请参照: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 {
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方式启动。

  • service ganglia-monitor start (每台机器都需要启动)
  • service gmetad start (在安装了ganglia-webfrontend的机器上启动)

六、 检验

登录浏览器查看:http://192.168.52.105/ganglia,如果Hosts up为9即表示安装成功。

若安装不成功,有几个很有用的调试命令:

  • 以调试模式启动gmetad:gmetad -d 9
  • 查看gmetad收集到的XML文件:telnet 192.168.52.105 8649

七、 Ganglia-web的安装

因为3.1.7版本的Ganglia-web实在太丑,因此我卸载了ganglia-webfrontend,然后单独安装了gmetad后又安装了新版的Ganglia-web-3.5.10.

官方安装说明:http://sourceforge.net/apps/trac/ganglia/wiki/ganglia-web-2#Installation

按照官方的说明,首先将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(切忌后面不要有空格)

重新启动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

时间: 2024-10-01 21:32:33

Ganglia 监控Hadoop的相关文章

Ganglia监控Hadoop集群的安装部署[转]

Ganglia监控Hadoop集群的安装部署 一. 安装环境 Ubuntu server 12.04 安装gmetad的机器:192.168.52.105 安装gmond的机 器:192.168.52.31,192.168.52.32,192.168.52.33,192.168.52.34,192.168.52.35,192.168.52.36,192.168.52.37,192.168.52.38,192.168.52.105 浏览监控web页面的机器:192.168.52.105 二. 介绍

Ganglia监控Hadoop集群的安装部署

Ganglia是UC Berkeley发起的一个开源实时监视项目,用于测量数以千计的节点,为云计算系统提供系统静态数据以及重要的性能度量数据.Ganglia系统基本包含以下三大部分. Gmond:Gmond运行在每台计算机上,它主要监控每台机器上收集和发送度量数据(如处理器速度.内存使用量等). Gmetad:Gmetad运行在Cluster的一台主机上,作为Web Server,或者用于与Web Server进行沟通. Ganglia Web前端:Web前端用于显示Ganglia的Metric

使用Ganglia监控hadoop、hbase

Ganglia是一个监控服务器,集群的开源软件,能够用曲线图表现最近一个小时,最近一天,最近一周,最近一月,最近一年的服务器或者集群的cpu负载,内存,网络,硬盘等指标. Ganglia的强大在于:ganglia服务端能够通过一台客户端收集到同一个网段的所有客户端的数据,ganglia集群服务端能够通过一台服务端收集到它下属的所有客户端数据.这个体系设计表示一台服务器能够通过不同的分层能够管理上万台机器.这个功能是其他mrtg,nagios,cacti所不能比拟的. Ganglia是UC Ber

Ganglia环境搭建并监控Hadoop分布式集群

简介 Ganglia可以监控分布式集群中硬件资源的使用情况,例如CPU,内存,网络等资源.通过Ganglia可以监控Hadoop集群在运行过程中对集群资源的调度,作为简单地运维参考. 环境搭建流程 1.我们先在主机master01上面搭建好Ganglia环境 2.在master01主机上解压JDK和Hadoop到安装目录.修改配置文件 3.克隆出两台主机slave01,slave02并修改主机名和IP主机名映射.做免密码登录 4.启动Ganglia和Hadoop集群.实现wordcount实例

ganglia监控架构

1.我们知道ganglia是C/S结构的,我们熟知的就是一台ganglia server,很多slave.这种结构有什么问题? 1)如果ganglia server出现问题,我们就无法监控到datanode. 2)如果监控节点特别多个100,几百台怎么,一台很明显会处理不过来,web展示会面临很大的性能问题. 我们可以考虑如下的结构: 2.这种架构有什么优势呢: 1)客户端往中间数据接收服务器传输,中间中转的集群是多台的,能实现冗余,保证数据完整 2)ganglia server定向中转机器拉取

ganglia监控自定义metric实践

Ganglia监控系统是UC Berkeley开源的一个项目,设计初衷就是要做好分布式集群的监控,监控层面包括资源层面和业务层面,资源层面包括cpu.memory.disk.IO.网络负载等,至于业务层面由于用户可以很方便的增加自定义的metric,因此可以用于做诸如服务性能.负载.出错率等的监控,例如某web服务的QPS.Http status错误率.此外,如果和Nagios集成起来还可以在某指标超过一定阈值时触发相应的报警. Ganglia相比zabbix的优势在于客户端收集agent(gm

Ubuntu 下配置Ganglia监控

Ganglia是比较知名的开源监控系统, 运维上需要关注的一些通用的状态都有所涉及.其组成主要是gmond(监控程序),gmetad(信息收集程序),web(监控数据展现app).ubuntu的apt源中Ganglia-webfrontend对应gmetad+web展现应用;ganglia-monitor对应gmond监控程序. 本文主要以ubuntu 14 server版为例进行安装配置: 监控主机: 192.168.1.1 被监控机: 192.168.1.2 ganglia在监控主机与被监控

Ganglia监控spark1.6.1

Ganglia监控spark1.6.1 Spark的Metrics系统允许用户把Spark metrics信息报告到Ganglia,gmond服务收集metrics信息,最后统一汇总到gmetad并通过web界面呈现.主要着重于如何配置ganglia以及spark的metrics,至于如何编译spark支持ganglia以及ganglia的安装另行详述. 1.编译spark支持ganglia spark默认不把ganglia相关的类包含在发行包中 ,所以在官网上下载的包是不支持ganglia的,

Ganglia监控搭建

一.Ganglia介绍: Ganglia是一个监控服务器.集群的开源软件,能够用曲线图表现最近一个小时,最近一天,最近一周,最近一月,最近一年的服务器或者集群的cpu负载,内存,网络,硬盘等指标.Ganglia的强大在于:ganglia服务端能够通过一台客户端收集到同一个网段的所有客户端的数据,ganglia集群服务端能够通过一台服务端收集到它下属的所有客户端数据.这个体系设计表示一台服务器能够通过不同的分层能够管理上万台机器.这个功能是其他mrtg,nagios,cacti所不能比拟. 官方网