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  
相關文章
相關標籤/搜索