close

原本打算先分享第9章與第10章的內容,但是剛好我要重新安裝Ganglia與Nagios,且第10章也會說到叢集監控(Cluster Monitoring)的問題,所以就先分享如何安裝Ganglia和Nagios給大家囉^.^,這裡先分享如何安裝Ganglia於Hadoop上。

- 何謂Ganglia

在說明如何安裝前,先跟大家簡單分享一下ganglia是如何來蒐集資料的。

    - 機制,ganglia的狀態蒐集機制是透過每一台gmond來蒐集資料,並透過主節點的gmetad來彙整資料後傳給rrdtool來做繪圖的動作。

        ganglia    

    - 如何與hadoop連結,透過$HADOOP_HOME/conf/hadoop-metrics2.properties來開啟想要呈現的狀態(BTW. 我的hadoop版本是1.0.3),接下來就是去掉注釋以及指定輸出甚麼狀態給Ganglia。

        - a. 去掉註釋

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

            *.sink.ganglia.period=10

            *.sink.ganglia.supportsparse=true

        - b. 指定輸出狀態

            namenode.sink.ganglia.servers=192.168.6.10:8649, 輸出namenode的狀態

            datanode.sink.ganglia.servers=192.168.6.10:8649,輸出datanode的狀態

            jobtracker.sink.ganglia.servers=192.168.6.10:8649,輸出jobtracker的狀態

            tasktracker.sink.ganglia.servers=192.168.6.10:8649,輸出jobtracker的狀態

            maptask.sink.ganglia.servers=192.168.6.10:8649,輸出maptask的狀態

            reducetask.sink.ganglia.servers=192.168.6.10:8649,輸出reducetask的狀態

- 安裝Ganglia

參考文獻 1. http://www.ibm.com/developerworks/cn/linux/l-ganglia-nagios-1/

參考文獻 2. http://taoo.iteye.com/blog/1415866

    - 安裝前說明:因為每個人所安裝環境都不同,所以可能在安裝某些套件的時候會出現一些相依性套件的問題,這時候或許您可以google一下,大致上90%應該都可以利用google順利解決。

    - 事前準備:(請一個一個裝,遇到相依問題在解決),注意:從節點(slaves)不需要安裝gmetad與web及rrdtool的部分!!。

        epel-release-6-7.noarch.rpm

        - ganglia 部分 : 

                ganglia-devel-3.4.0-1.x86_64.rpm

                ganglia-gmetad-3.4.0-1.x86_64.rpm

                ganglia-gmond-3.4.0-1.x86_64.rpm

                ganglia-gmond-modules-python-3.4.0-1.x86_64.rpm

                ganglia-web-3.5.2-1.noarch.rpm

                libganglia-3.4.0-1.x86_64.rpm

        - rrdtool 部分 : 

            rrdtool-1.3.8-6.el6.x86_64

            rrdtool-devel-1.3.8-6.el6.x86_64

    - ganglia 配置

        - gmetad.conf : vim /etc/ganglia/gmetad.conf,這個部分很難寫,=>後面是說明,請仔細看gmetad與gmond在的對應即可,並請於這些conf檔中加入下述所呈現的部分,建議先大致看完整的conf檔的排列,會對加入下述所呈現的部分會有幫助。

            data_source "XinCluster" masteribm    => "XinCluster": 群組名稱,masteribm : 主節點的hostname(uname -n可查)

            trusted_hosts masteribm     => masteribm : 主節點的hostname(uname -n可查)

        - gmond.conf : vim /etc/ganglia/gmond.conf

            cluster {

                name = "XinCluster"

                owner = "unspecified"

                latlong = "unspecified"

                url = "unspecified"

            }

          udp_send_channel請改成如下所示 :

            udp_send_channel {

                # bind_hostname = yes # Highly recommended, soon to be default.

                # This option tells gmond to use a source address

                # that resolves to the machine's hostname. Without

                # this, the metrics may appear to come from any

                # interface and the DNS names associated with

                # those IPs will be used to create the RRDs.

                host = masteribm的ip

                port = 8649

                ttl = 1

            }

            udp_recv_channel請改成如下所示 :

            udp_recv_channel {

                #mcast_join = 239.2.11.71

                port = 8649

                #bind = 239.2.11.71

                #retry_bind = true

            }

透過上面的設定不難可以看的出來,其實gmond是透過udp_send_channel的host及port 8649來傳遞狀態,然後藉由masteribm上的gmetad來蒐集並交由rrdtool來畫圖,應該會有人有問題,為何不透過mcast_join的多播器來做呢?,因為本人用過...但是叢集節點總是會不定時的失去聯繫,詳細原因不明,如果有哪位看倌知曉的,煩請告知小弟一聲^.^~感激不盡。

不要以為安裝完上述的東東就能用了喔^_^~請記得在安裝httpd~也就是阿帕契(apache)拉。

- 安裝httpd( yum install httpd )

    httpd.x86_64 : Apache HTTP Server

- 啟動ganglia

    service gmond start

    service gmetad start

    service httpd start

- 從wed介面查看

    http://hostname的ip/ganglia/    

ganglia2  

- ganglia當然不僅只有上述那些東東,它還有個欺騙的功能,但目前尚未需要這個功能,所以就沒與大家分享,如果之後有需要用到我會在與大家分享的^.^~

        

                

        

        

        

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 TonyMoMo 的頭像
    TonyMoMo

    TonyMoMo的部落格

    TonyMoMo 發表在 痞客邦 留言(0) 人氣()