立即注册 登录
About云-梭伦科技 返回首页

小牛牛的个人空间 https://aboutyun.com/?12709 [收藏] [复制] [分享] [RSS]

日志

ganglia详细安装文档以及监控hadoop,hbase

已有 2714 次阅读2015-3-16 18:28 |个人分类:监控| ganglia安装, hadoop监控, hbase监控

阅读导航

1.yum或者apt-get安装

2.源码安装


上面两种安装方式都可以,但是在线安装的版本可能比较老,如果想使用新版本,建议使用离线安装,特别是gweb的显示,老版本比较丑陋。

安装过程中用到包 http://yunpan.cn/cZHMtbsGkwLKG  访问密码 242b

安装前环境准备:

检查系统的运行状态(否则运行会报错

      1)防火墙的状态

       service iptables status

       关闭防火墙

         service iptables stop

       chkconfig iptables off

      2)关闭selinux

     sestatus  查看运行状态

     如果是运行状态,编辑  cat /etc/selinux/config 

     修改该属性  SELINUX=disabled然后重启即可。

     上面是永久生效的方法,还有一种是立即生效  运行getenforce 0(我没有运行成功)

     3)相关配置文件说明:

 ganglia 配置文件目录:/etc/ganglia

rrd 数据库存放目录:/var/lib/ganglia/rrds

httpd 主站点目录:/var/www/html

ganglia-web 安装目录:/usr/share/ganglia

ganglia-web 配置目录:/etc/httpd/conf.d/ganglia.conf

1 yum或者apt-get安装

      由于我的机器是Centos6.5,所以我这里只介绍yum安装方式,apt-get安装和这差不多,只是命令不一样而已。

1)检查ganglia相关包是否存在

rpm -qa |grep ganglia

      

我这里已经有了,是3.1.7版本的

如果没有,请运行下面代码更新资源

rpm  -Uvh http://dl.Fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

      

2)安装gmond

在每个需要监控的节点,安装gmond

yum  install ganglia-gmond

配置/etc/ganglia/gmond.conf文件

Global区域的修改,只需要修改user以及send_metadata_interval

(由于我这里是3.6版本,可能有些属性你的没有,没关系)

         

Cluster区域,修改name名称,这个是集群名称,用于后面gmetad的配置

       

Udp_send_channel区域,注释掉mcasy_jion(用于组播),我们这里采用单播,10.3.1.35替换成你机器的名称

 

Udp_recv_channel注释掉mcast_join以及bind即可

       

到这里就安装好了,启动service gmond start

然后可以在本节点运行 telnet localhost 8649

如果出现如下图,xml内容则安装正确,接着往下安装

也可以将gmond.conf中的debug0改为100,看更多的日志,然后进行排查。

       

3)安装gmetad

这个只需要安装在apache服务器的那个节点即可。

yum install ganglia-gmetad

配置 /etc/ganglia/gmetad.conf,找到data_source,第一个参数hadoop-clustergmond.confclustername必须一样,第二个参数和upd_send_channel中的host一样,当然可以有很多个,我这里配置了一个,结合你配置的环境。

      

然后运行 service gmetad start

测试 telnet localhost 8651 出现和上面测试gmond的情况一样,那么安装成功。

4)安装gweb

yum install ganglia-web

修改ganglia-web 的访问权限:修改/etc/httpd/conf.d/ganglia.conf

Alias /ganglia /usr/share/ganglia

<Location /ganglia>

Order deny,allow

# Deny from all

# Allow from 127.0.0.1

# Allow from ::1

Allow from all

# Allow from .example.com

</Location>

5)安装apache服务器以及php

yum install httpd php

ganglia-web 安装目录链接到httpd 主站点目录(apache服务器访问的根目录)

$ ln -s /usr/share/ganglia /var/www/html

修改httpd 主站点目录下ganglia 站点目录的访问权限

ganglia 站点目录访问权限改为apache:apache,否则会报错

$ chown -R apache:apache /var/www/html/ganglia

$ chmod -R 755 /var/www/html/ganglia

修改rrd 数据库存放目录访问权限

rrd 数据库存放目录访问权限改为nobody:nobody,否则会报错

$ chown -R nobody:nobody /var/lib/ganglia/rrds

6)启动httpd

访问hostname/ganglia即可(这里的hostname是安装gweb以及gmetad的主机名或者ip)

 

下载各种源码包安装

1)安装依赖包

yum -y install apr-devel apr-util check-devel cairo-devel pango-devel libxml2-devel rpmbuild glib2-devel dbus-devel freetype-devel fontconfig-devel gcc-c++ expat-devel python-devel libXrender-devel  libart_lgpl  libpng

2) 安装expat

下载expat-2.0.1.tar.gz

tar -xzvf expat-2.0.1.tar.gz

./configure --prefix=/usr/local/expat

make

make install

对于64位操作系统,需要手动的拷贝下动态链接库到lib64 

mkdir /usr/local/expat/lib64 

cp -a /usr/local/expat/lib/* /usr/local/expat/lib64/

3)安装apr以及apr-util 

tar -xvzf apr-1.3.12.tar.gz

./configure --prefix=/usr/local/apr 

make 

make install 

tar xvjf apr-util-1.3.12.tar.bz2

../configure  --with-apr=/usr/local/apr --with-expat=/usr/local/expat

make 

make install 

同样64位机器需要拷贝动态链接库

cp   /usr/local/apr/include/apr-1/* /usr/local/apr/include/ 

mkdir -p /usr/local/apr/lib64 

cp -af  /usr/local/apr/lib/* /usr/local/apr/lib64

4)安装confuse 

下载包:

wget http://download.savannah.gnu.org/releases/confuse/confuse-2.7.tar.gz

tar -xzvf  confuse-2.7.tar.gz

cd  confuse-2.7 

./configure CFLAGS=-fPIC --disable-nls --prefix=/usr/local/confuse

make

make  install

5)安装rrdtool

下载

wget  http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.8.tar.gz

cd rrdtool-1.4.8

./configure --prefix=/usr/local/rrdtool

make

make install

然后运行 

/usr/local/rrdtool/bin/rrdtool

可以看到

       

安装就成功了

6)安装 ganglia

现在才是安装ganglia的开始,如果提示需要pcre的话,安装下 yum install pcre 下载ganglia-3.2.6,解压,安装 

tar -xzvf ganglia

./configure --with-librrd=/usr/local/rrdtool --with-gmetad --prefix=/usr/local/ganglia --with-libconfuse=/usr/local/confuse --enable-gexec 

如果出现下图所示,则正确

       

如果没有,请查看下面出错情况:

出现的问题:

A.libconfuse

Checking for confuse

checking for cfg_parse in -lconfuse... no

Trying harder including gettext

checking for cfg_parse in -lconfuse... no

Trying harder including iconv

checking for cfg_parse in -lconfuse... No

解决: yum install libconfuse-devel 

B.pcre

checking pcre/pcre.h usability... no

checking pcre/pcre.h presence... no

checking for pcre/pcre.h... no

checking pcre.h usability... no

checking pcre.h presence... no

checking for pcre.h... no

checking for pcre_compile in -lpcre... no

解决:yum install pcre* 

解决好上述问题运行下面命令:

make 

make install

7)配置gmond(由于需要在每台机器安装gmond,则每台机器都要安装)

   拷贝gmond服务启动脚本

cp /opt/soft_tar/ganglia-3.6.0/gmond/gmond.init  /etc/rc.d/init.d/gmond 

创建配置文件主目录

 mkdir /etc/ganglia 

  拷贝gmond命令道/usr/sbin目录下

cp -f /usr/local/ganglia/sbin/gmond /usr/sbin/gmond

  生成gmond服务配置文件

gmond -t | tee /etc/ganglia/gmond.conf  

  加入gmond 服务

  chkconfig --add gmond

  配置 /etc/ganglia/gmond.conf

  红色部分发生改动

  globals {

  daemonize = yes

  setuid = yes

  user = ganglia //运行ganglia用户

  debug_level = 0

  max_udp_msg_len = 1472

  mute = no

  deaf = no

  allow_extra_data = yes

  host_dmax = 86400 /*secs. Expires (removes from web interface) hosts in 1 day */

  host_tmax = 20 /*secs */

  cleanup_threshold = 300 /*secs */

  gexec = no

  send_metadata_interval = 15 /*多少秒发送一次 */

}

cluster {

  name = "mycluster"//集群名称,要与gmetad.conf名称一致

  owner = "unspecified"//集群用户名称

  latlong = "unspecified"

  url = "unspecified"

}

host {

  location = "unspecified"

}

udp_send_channel {

#mcast_join = 239.2.11.71//注释掉用单播

  host = 10.2.1.35//gmetad的机器

  port = 8649

  ttl = 1

}

udp_recv_channel {

  #mcast_join = 239.2.11.71

  port = 8649

  #bind = 239.2.11.71

  retry_bind = true

}

 启动gmond

运行 service gmond start 启动gmond

出现'/usr/local/ganglia/etc/gmond.conf' not found

解决

 ln -s /etc/ganglia/gmond.conf   /usr/local/ganglia/etc/gmond.conf

或者gmond --default_config > /etc/ganglia/gmond.conf

重新启动gmondservice gmond restart. 

  测试数据

     在gmetad机器上运行 tcpdump -i eth0 udp port 8649,或者telnet localhost 8649

       

8)配置gmetad

   1)同上配置环境

       cp gmetad/gmetad.Init /etc/rc.d/Init.d/gmetad     //拷贝gmetad服务启动脚本
       mkdir /etc/ganglia                                             //创建配置文件主目录
       cp gmetad/gmetad.conf /etc/ganglia/                  //拷贝gmetad服务配置文件
       mkdir -p /var/lib/ganglia/rrds                                //创建rrd文件存放目录

       cp -f /usr/local/ganglia/sbin/gmetad /usr/sbin/gmetad

       chkconfig --add gmetad
       chown nobody:nobody /var/lib/ganglia/rrds           //属主和属组都为nobody
       chkconfig --add gmetad    

      cp /opt/soft_tar/ganglia-3.6.0/gmetad/gmetad.conf  /etc/ganglia/

    2) 配置gmetad.conf   

     data_source "mycluster" 10.2.1.80

     3) 启动gmetad

      service gmetad start

       可以运行 telnet localhost 8651查看是否正常启动

9)安装php以及apache

PHP程序需要依赖Apache来运行,因此需要安装如下依赖

1)安装

yum -y install php httpd

2)启动

service httpd start //启动httpd 服务

3)测试php

vi /var/www/html/index.php

输入:

<?php

phpinfo();

?>

保存,然后浏览器 master/index.php  

10安装ganglia-web

下载,解压

       wget http://jaist.dl.sourceforge.net/project/ganglia/ganglia-web/3.6.2/ganglia-web-3.6.2.tar.gz

  解压

cd ganglia-web-3.6.2

vim Makefile源文件

       

修改如下

       

执行make install

最后在/var/www/html/ganglia文件夹下,

cp conf_default.php  conf.php

vim conf.php,修改

       

这里修改为本地安装的rrdtoolbin路径 

11)修改rrds路径的权限

chown  -R nobody:nobody /var/lib/ganglia/rrds

chmod  -R 755 /var/lib/ganglia/rrds 

12)启动gmond gmetad httpd访问即可

 


3 集成hadoop,hbase到ganglia中

1)配置hadoop

      在${HADOOP_HOME}/etc/hadoop/hadoop-metrics2.properties中 把原来的全部注释掉,加上下面的,重启启动即可 

*.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31

*.sink.ganglia.period=10

*.sink.ganglia.slope=jvm.metrics.gcCount=zero,jvm.metrics.memHeapUsedM=both

*.sink.ganglia.dmax=jvm.metrics.threadsBlocked=70,jvm.metrics.memHeapUsedM=40

namenode.sink.ganglia.servers=server-35:8649

resourcemanager.sink.ganglia.servers=server-35:8649

datanode.sink.ganglia.servers=server-35:8649

nodemanager.sink.ganglia.servers=server-35:8649

maptask.sink.ganglia.servers=server-35:8649

reducetask.sink.ganglia.servers=server-35:8649

2)配置Hbase

在${HADOOP_HOME}/etc/hadoop/hadoop-metrics2-hbase.properties 把原来的全部注释掉,加上下面的,重启启动即可 

  .sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31

*.sink.ganglia.period=10

hbase.sink.ganglia.period=10

hbase.sink.ganglia.servers=server-35:8649


路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 立即注册

关闭

推荐上一条 /2 下一条