ganglia-介紹安裝(二)


     此文章用於學習和交流轉載請註明,也可加入羣316297243交流學習

     共有兩種安裝方式,在線的yum安裝和下載源碼包編譯安裝,這兩種安裝方式都可以,但是在線安裝的版本可能比較老,如果想使用新版本,建議使用離線安裝,特別是gweb的顯示,老版本比較醜陋。

安裝過程中用到包 http://yunpan.cn/cZHMtbsGkwLKG  訪問密碼 242b

1 安裝前環境準備

   

  1 防火牆的狀態 

  #關閉防火牆 
   service iptables stop
   chkconfig iptables off
  #查看狀態 
  service iptables status

 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


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中的debug0改爲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 

    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(下面只需主節點安裝)

    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 安裝前準備

  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

     1)現在纔是安裝ganglia的開始,如果提示需要pcre的話

 yum install pcre 

     2)下載ganglia-3.2.6,解壓,安裝  

   tar -xzvf ganglia-3.2.6.tar.gz
   ./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 /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

   重新啓動gmond:service 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,修改

       

    這裏修改爲本地安裝的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中 把原來的全部註釋掉,加上下面的,重啓啓動即可 

  *.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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章