分享

CentOS下安装与配置Ganglia监控Hadoop集群及HBase

本帖最后由 InSight 于 2014-11-6 22:19 编辑

问题导读:
1.什么是ganglia?
2.Ganglia有哪几个守护进程?
3.Gmond集群有哪几种配置方式?
4.为什么现在许多公司监控Hadoop集群几乎用的都是ganglia软件?
5.如何安装与配置ganglia软件?
6.如何在安装完成后配置Hadoop集群及HBase?







1.Ganglia是一套分布式指标收集和展示系统,专为高性能并行计算网络设计。它能够展示收集并展示无数的性能相关的指标,包括CPU、内存、磁盘以及网络IO等,能够几乎实时地展示成百上千台主机的上述指标。Ganglia之所以能够完成这些,是因为它是一个分布式应用程序,也就是说,Ganglia集群中的每一个节点协同工作从而将工作负载分散在整个集群中。

2.Ganglia主要有两个守护进程(gmetad和gmond)和一个PHP编写的web前端(gweb)构成。Gmond可以认为是监控的”Agent”,它安装在需要收集统计数据的系统上。

3.gmond集群有两种配置方式:多播和单播。
多播模式(默认):在多播模式下集群内的每个节点在监听指标数据的同时,将自己的数据通过唯一的多播通道发送出去。每个gmond节点不仅收集自身的指标数据,而且还存储集群内其他节点收集的指标数据。
单播模式:单播模式特别声明了一个gmond的节点为主gmond节点,集群中其他的gmond节点将自己的指标数据发送给主gmond节点。主gmond节点的任务是侦听和存储集群内其他gmond节点的最近指标数据。有一点需要注意,一旦主gmond节点服务重启之后,那么之前存储集群中其他节点的指标数据就没有了,这时查看gweb界面指标数据是没有的。而多播模式不存在这种情况,如果集群有一个gmond节点挂掉了,那么gmetad还可以从其他的gmond节点收集集群中所有主机的指标数据。

4.ganglia是一个轻量级的集群监控软件。在集群中消耗的带宽资源非常少,加上其灵活的配置以及在nagios中集成等优点使得其在监控hadoop集群中显得耀眼。

5.Ganglia的安装与配置

安装依赖包
# yum install –y gcc gcc-c++ libpngfreetype zlib libdbi apr.* apr-util libxml2-devel pkg-config glib pixman pangopango-devel freetye-devel fontconfig cairo cairo-devel libart_lgpllibart_lgpl-devel

安装httpd
# cd /opt

# tar –xvf httpd-2.2.29.tar.gz

# cd httpd-2.2.29

# ./configure --prefix=/usr/local/apache2--sysconfdir=/etc/httpd --enable-so --enable-ssl --enable-cgi --enable-rewrite--with-zlib

# make && make install

# vi /etc/httpd/httpd.conf    (编辑httpd的配置文件添加如下行)

PidFile "/var/run/httpd.pid"



为此脚本赋予执行权限:

# chmod +x /etc/rc.d/init.d/httpd

加入服务列表:

# chkconfig --add httpd

开机自动启动:

# chkconfig httpd on

启动服务进行测试:

# service httpd start

安装PHP
# cd /opt

# tar –zxvf php-5.3.29.tar.gz

# cd php-5.3.29

# ./configure --prefix=/usr/local/php5  --with-apxs2=/usr/local/apache2/bin/apxs--with-config-file-path=/usr/local/php5/etc --with-gd

# make && make install


为php提供配置文件:

# cp php.ini-production/usr/local/php/etc/php.ini

编辑apache配置文件httpd.conf,使apache支持php

# vim /etc/httpd/httpd.conf

添加如下二行

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source.phps

定位至DirectoryIndex index.html

修改为:

DirectoryIndex index.php index.html

# service httpd restart

安装rrdtool
# cd /opt

# tar –zxvf rrdtool-1.4.5.tar.gz

# cd rrdtool-1.4.5

# ./configure–prefix=/usr/local/rrdtool –enable-shared

# make &&make install

# vi /etc/profile

exportPATH=$PATH:/usr/local/rrdtool/bin

#source/etc/profile


安装配置其他所需要的依赖包:

# yum install -y expat expat-devel pcre pcre-devel

安装apr
# cd/opt

# tar –zxvf apr-1.4.6.tar.gz

# cd apr-1.4.6

# ./configure

# make && make install

# cd ..

安装confuse
# tarzxf confuse-2.7.tar.gz
# cd confuse-2.7
# ./configure CFLAGS=-fPIC --disable-nls

# make&& make install
# cd ..

安装ganglia
# tarzxf ganglia-3.6.0.tar.gz

# cdganglia-3.6.0

#./configure --prefix=/opt/modules/ganglia --with-static-modules --enable-gexec--enable-status --with-gmetad --with-python=/usr --with-librrd=/usr/local/rrdtool

# make &&make install

# cd gmetad

# cp gmetad.conf/opt/modules/ganglia/etc/

# cp gmetad.init/etc/init.d/gmetad

打开gmetad的配置文件,修改如下内容:

# vi/etc/init.d/gmetad

将GMETAD=/usr/bin/gmetad

改为GMETAD=/opt/modules/ganglia/sbin/gmetad

# chkconfig --addgmetad

# mkdir –p /var/lib/ganglia/rrds

# chown nobody:nobody /var/lib/ganglia/

#vi /opt/modules/ganglia/etc/gmetad.conf

修改data_source "Smart City" 10.202.3.15:8650

在最后添加如下内容:

setuid_username "root"

rrd_rootdir "/usr/local/rrdtool"

说明:”Smart City”表示的是集群的名称,后面的内容是这个集群中所包含的主机信息,也就是要监控的主机IP。

启动ganglia
# service gmetad start

# netstat –tnlp |grep gmetad

tcp    0      0 0.0.0.0:8651      0.0.0.0:*       LISTEN      29583/gmetad

tcp    0      0 0.0.0.0:8652      0.0.0.0:*       LISTEN      29583/gmetad






Web前端安装与配置
Ganglia-web作为ganglia三大守护进程之一,其安装在有gmetad运行的机器上,以便读取RRD文件。
# cd /opt
# tar –zxvf ganglia-web-3.6.2.tar.gz
# cd ganglia-web-3.6.2
# vi conf.php
$conf['gmetad_root'] ="/var/lib/ganglia";
$conf['rrds'] ="${conf['gmetad_root']}/rrds";
$conf['rrdtool'] ="/usr/local/rrdtool/bin/rrdtool";
$conf['ganglia_ip'] ="127.0.0.1";
$conf['ganglia_port'] = 8652;
# vi Makefile
将GDESTDIR = /var/www/html/ganglia
APACHE_USER = apache
改为
GDESTDIR =/usr/local/apache2/htdocs/ganglia
APACHE_USER = nobody
# make install
# service httpd restart
# service gmetad restart
客户端安装与配置安装依赖包
# yum install -y gcc gcc-c++ libpngfreetype zlib libdbi apr.* apr-util libxml2-devel pkg-config glib pixman pangopango-devel freetye-devel fontconfig cairo cairo-devel libart_lgpllibart_lgpl-develexpat expat-devel pcre pcre-devel apr*
安装apr
# cd/opt
# tar –zxvf apr-1.4.6.tar.gz
# cd apr-1.4.6
# ./configure
# make && make install
# cd ..
安装confuse
# tarzxf confuse-2.7.tar.gz
# cd confuse-2.7
# ./configure CFLAGS=-fPIC --disable-nls
# make&& make install
# cd ..
安装rrdtool
# cd /opt
# tar –zxvf rrdtool-1.4.5.tar.gz
# cd rrdtool-1.4.5
# ./configure–prefix=/usr/local/rrdtool –enable-shared
# make &&make install
# vi /etc/profile
exportPATH=$PATH:/usr/local/rrdtool/bin
#source/etc/profile

安装gmond
安装ganglia
# tar zxfganglia-3.6.0.tar.gz
# cd ganglia-3.6.0
# ./configure--prefix=/opt/modules/ganglia --enable-gexec --enable-status --with-python=/usr--with-libapr=/usr/local/apr/bin/apr-1-config --with-libconfuse=/usr/local
# make &&make install
# mkdir /opt/modules/ganglia/etc
#cd gmond
# ./gmond –t >/opt/modules/ganglia/etc/gmond.conf
# cp gmond.init /etc/init.d/gmond
# vi /etc/init.d/gmond
将GMETAD=/usr/bin/gmond
改为GMETAD=/opt/modules/ganglia/sbin/gmond
# chkconfig --add gmond
# service gmond start
Web登录

捕获.PNG


6.配置hadoop及hbase集群,请参考:Ganglia监控Hadoop及Hbase集群性能



已有(4)人评论

跳转到指定楼层
pengsuyun 发表于 2015-1-6 18:09:09
现在要装了,再次谢谢楼主的分!
回复

使用道具 举报

zhangshuai 发表于 2015-5-27 10:03:45
LZ  我照你的方法 安装了  完全没有用处。。你前几步骤安装了 后面还在安装。你是从哪里抄袭的东西。。害我搞了一上午。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条