ganglia-介绍安装(二)

 共有两种安装方式,在线的yum安装和下载源码包编译安装,这两种安装方式均可以,可是在线安装的版本可能比较老,若是想使用新版本,建议使用离线安装,特别是gweb的显示,老版本比较丑陋。php

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

1 安装前环境准备

   

  1 防火墙的状态

  1. #关闭防火墙   
  2.  service iptables stop  
  3.  chkconfig iptables off  
  4. #查看状态   
  5. service iptables status  

 2 关闭selinux

   sestatus  查看运行状态node

   若是是运行状态,编辑  cat /etc/selinux/config python

   修改该属性  SELINUX=disabled而后重启便可。linux

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

   3 相关配置文件说明web

   ganglia 配置文件目录:/etc/ganglia数据库

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

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

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

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

 

2 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文件

     vim /etc/ganglia/gmond.conf

   

     Global区域的修改以下图,只须要修改user以及send_metadata_interval

       

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

       

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

     

   Udp_recv_channe修改以下,注释掉mcast_join以及bind便可

   

   启动gmond

     service gmond start

  注:

   能够在启动以前,运行telnet localhost 8649

   若是出现以下图,xml内容则安装正确,接着往下安装

   也能够将gmond.conf中的debug从0改成100,看更多的日志,而后进行排查。

    

 

    3 安装gmetad(只有主节点须要)

    安装 yum install ganglia-gmetad

    配置 

    vim /etc/ganglia/gmetad.conf

   找到data_source,第一个参数hadoop-cluster和gmond.conf的cluster的name必须同样,第二个参数和              upd_send_channel中的host     同样,固然能够有不少个,我这里配置了一个,结合你配置的环境。

        

   启动

    service gmetad start

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

   4 安装gweb(只须要主节点)

   安装yum install ganglia-web

   修改ganglia-web 的访问权限(只是掉其余,加入Allow from all)

   vim /etc/httpd/conf.d/ganglia.conf 

 

[plain] view plain copy

 

  1.  Alias /ganglia /usr/share/ganglia  
  2.  <Location /ganglia>  
  3.  Order deny,allow  
  4. # Deny from all  
  5. # Allow from 127.0.0.1  
  6. # Allow from ::1  
  7.  Allow from all  
  8. # Allow from .example.com  
  9. </Location>  

 

 

    5 安装apache服务器以及php(下面只需主节点安装)

    1)安装 apache以及php

    yum install httpd php

    2)安装ganglia-web

    yum install ganglia-web

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

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

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

      将ganglia 站点目录访问权限改成apache:apache,不然会报错

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

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

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

      将rrd 数据库存放目录访问权限改成nobody:nobody,不然会报错

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

 6 启动访问

   依次启动gmond,gmetad,httpd

   service gmond start  

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

 

3 源码包安装

 

 1 安装前准备

 

[plain] view plain copy

 

  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

 

[plain] view plain copy

 

  1. tar -xzvf expat-2.0.1.tar.gz  
  2. ./configure --prefix=/usr/local/expat  
  3. make  
  4. make install  

 

    对于64位操做系统,须要手动的拷贝下动态连接库到lib64下 

 

[plain] view plain copy

 

  1. mkdir /usr/local/expat/lib64   
  2. cp -a /usr/local/expat/lib/* /usr/local/expat/lib64/  

 

 

 3 安装apr以及apr-util  

 

[plain] view plain copy

 

  1. tar -xvzf apr-1.3.12.tar.gz  
  2. ./configure --prefix=/usr/local/apr   
  3. make   
  4. make install   
  5. tar xvjf apr-util-1.3.12.tar.bz2  
  6. ./configure  --with-apr=/usr/local/apr --with-expat=/usr/local/expat  
  7. make   
  8. make install   

 

    一样64位机器须要拷贝动态连接库 

 

[plain] view plain copy

 

  1. cp   /usr/local/apr/include/apr-1/* /usr/local/apr/include/   
  2. mkdir -p /usr/local/apr/lib64   
  3. cp -af  /usr/local/apr/lib/* /usr/local/apr/lib64  

 

 

 4 安装confuse 

 

[plain] view plain copy

 

  1. wget http://download.savannah.gnu.org/releases/confuse/confuse-2.7.tar.gz  
  2. tar -xzvf  confuse-2.7.tar.gz  
  3. cd  confuse-2.7   
  4. ./configure CFLAGS=-fPIC --disable-nls --prefix=/usr/local/confuse  
  5. make  
  6. make  install  

 

 

 5 安装rrdtool

 

[plain] view plain copy

 

  1. wget  http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.8.tar.gz  
  2. cd rrdtool-1.4.8  
  3. ./configure --prefix=/usr/local/rrdtool  
  4. make  
  5. make install  

 

  而后运行 

  /usr/local/rrdtool/bin/rrdtool

  能够看到

   

 6 安装ganglia

     1)如今才是安装ganglia的开始,若是提示须要pcre的话

 yum install pcre 

     2)下载ganglia-3.2.6,解压,安装  

 

[plain] view plain copy

 

  1. tar -xzvf ganglia-3.2.6.tar.gz  
  2. ./configure --with-librrd=/usr/local/rrdtool --with-gmetad --prefix=/usr/local/ganglia --with-    libconfuse=/usr/local/confuse --enable-gexec   

 

 

    若是出现下图所示,则正确

       

    若是没有,请查看下面出错状况:

   出现的问题:

 

   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 

 

  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 //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

   从新启动gmond:service gmond restart. 

  测试数据

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

   

8 安装配置gmetad

 

[plain] view plain copy

 

  1. 1)同上配置环境  
  2.      cp gmetad/gmetad.Init /etc/rc.d/Init.d/gmetad     //拷贝gmetad服务启动脚本  
  3.      mkdir /etc/ganglia                                             //建立配置文件主目录  
  4.      cp gmetad/gmetad.conf /etc/ganglia/                  //拷贝gmetad服务配置文件  
  5.      mkdir -p /var/lib/ganglia/rrds                                //建立rrd文件存放目录  
  6.      cp -f /usr/local/ganglia/sbin/gmetad /usr/sbin/gmetad  
  7.      chkconfig --add gmetad  
  8.      chown nobody:nobody /var/lib/ganglia/rrds           //属主和属组都为nobody  
  9.      chkconfig --add gmetad      
  10.     cp /opt/soft_tar/ganglia-3.6.0/gmetad/gmetad.conf  /etc/ganglia/  
  11.   2) 配置gmetad.conf     
  12.    data_source "mycluster" 10.2.1.80  
  13.   3) 启动gmetad  
  14.     service gmetad start  
  15.     能够运行 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,修改

       

    这里修改成本地安装的rrdtool的bin路径 

 11 修改rrds路径的权限

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

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

 12 启动gmond gmetad httpd访问便可

 

 

4 集成hadoop,hbase到ganglia中

  1 配置hadoop

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

 

[plain] view plain copy

 

  1. *.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31  
  2. *.sink.ganglia.period=10  
  3. *.sink.ganglia.slope=jvm.metrics.gcCount=zero,jvm.metrics.memHeapUsedM=both  
  4. *.sink.ganglia.dmax=jvm.metrics.threadsBlocked=70,jvm.metrics.memHeapUsedM=40  
  5. namenode.sink.ganglia.servers=server-35:8649  
  6. resourcemanager.sink.ganglia.servers=server-35:8649  
  7. datanode.sink.ganglia.servers=server-35:8649  
  8. nodemanager.sink.ganglia.servers=server-35:8649  
  9. maptask.sink.ganglia.servers=server-35:8649  
  10. reducetask.sink.ganglia.servers=server-35:8649  

 

2 配置Hbase

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

 

[plain] view plain copy

 

  1. .sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31  
  2. *.sink.ganglia.period=10  
  3. hbase.sink.ganglia.period=10  
  4. hbase.sink.ganglia.servers=server-35:8649  
相关文章
相关标签/搜索