tangtb

          Hadoop,SpringMVC,ExtJs,Struts2,Spring,SpringSecurity,Hibernate,Struts
          posts - 25, comments - 88, trackbacks - 0, articles - 0
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          Ganglia整合Nagios監(jiān)控Hadoop集群

          Posted on 2015-02-25 14:48 tangtb 閱讀(6825) 評(píng)論(0)  編輯  收藏 所屬分類: Hadoop

              Ganglia是UC Berkeley發(fā)起的一個(gè)開源集群監(jiān)視項(xiàng)目,設(shè)計(jì)用于測(cè)量數(shù)以千計(jì)的節(jié)點(diǎn)。Ganglia的核心包含gmond、gmetad以及一個(gè)Web前端。主要 是用來(lái)監(jiān)控系統(tǒng)性能,如:cpu 、mem、硬盤利用率, I/O負(fù)載、網(wǎng)絡(luò)流量情況等,通過(guò)曲線很容易見到每個(gè)節(jié)點(diǎn)的工作狀態(tài),對(duì)合理調(diào)整、分配系統(tǒng)資源,提高系統(tǒng)整體性能起到重要作用。

              gmetad可以部署在集群內(nèi)任一臺(tái)節(jié)點(diǎn)或者通過(guò)網(wǎng)絡(luò)連接到集群的獨(dú)立主機(jī),它通過(guò)單播路由的方式與gmond通信,收集區(qū)域內(nèi)節(jié)點(diǎn)的狀態(tài)信息,并以XML數(shù)據(jù)的形式,保存在數(shù)據(jù)庫(kù)中由RRDTool工具處理數(shù)據(jù),并生成相應(yīng)的的圖形顯示,以Web方式直觀的提供給客戶端

              Ganglia包括如下幾個(gè)程序,他們之間通過(guò)XDR(xml的壓縮格式)或者XML格式傳遞監(jiān)控?cái)?shù)據(jù),達(dá)到監(jiān)控效果。集群內(nèi)的節(jié)點(diǎn),通過(guò)運(yùn)行g(shù)mond收集發(fā)布節(jié)點(diǎn)狀態(tài)信息,然后gmetad周期性的輪詢gmond收集到的信息,然后存入rrd數(shù)據(jù)庫(kù),通過(guò)web服務(wù)器可以對(duì)其進(jìn)行查詢展示。

           

           

          檢查安裝ganglia依賴包

           

          rpmbuild命令生成rpm包 

          [root@hadoop228 ~]# rpmbuild -tb ganglia-3.6.1.tar.gz

           

          命令執(zhí)行成功,如上圖所示,執(zhí)行以下命令查看生成的rpm文件;我再執(zhí)行過(guò)程中出現(xiàn)“錯(cuò)誤:發(fā)現(xiàn)已安裝(但未打包)文件:”(Installed (but unpackaged) file(s) found),如圖所示:

           

          解決方法:

          找到 /usr/lib/rpm/macros 中
          %__check_files         %{_rpmconfigdir}/check-files %{buildroot} 注釋掉該行

           

          [root@hadoop228 ~]# cd /root/rpmbuild/RPMS/x86_64/

           

          [root@hadoop228 x86_64]# rpm -ivh *,執(zhí)行命令安裝ganglia相關(guān)軟件包

          配置ganglia

          本例只在一臺(tái)機(jī)器上安裝配置ganglia,如果是集群環(huán)境

          在主節(jié)點(diǎn)配置gmetad.conf

           

           

          data_source "hadoop_cluster" 10 10.120.20.228:8649 10.120.20.229:8649 ...

           

          data_source屬性是gmetad配置的核心。每一行data_source描述一個(gè)gmetad收集信息的gmond集群或gmetad網(wǎng)格

          data_source由3個(gè)字段組成。第一個(gè)字段為唯一標(biāo)識(shí)data_source的字符串;第二個(gè)字段為指定輪詢間隔(單位:秒)的數(shù)字;第三個(gè)字段 為以空格分開的所要輪詢數(shù)據(jù)的主機(jī)列表,這些地址以IP地址或DNS主機(jī)名的形式指定,并可能添加“:端口號(hào)”形式的后綴,該端口號(hào)指明gmond的 tcp_accept_channel所在位置。如果未指明端口號(hào),gmetad將嘗試連接tcp/8649。

           

          在主節(jié)點(diǎn)及其它節(jié)點(diǎn)配置gmond.conf

          cluster {

            name = "hadoop_cluster"

            owner = "nobody"

            latlong = "unspecified"

            url = "unspecified"

          }

          udp_send_channel {

            #mcast_join = 239.2.11.71 

            host = 10.120.20.228 #gmetad主節(jié)點(diǎn)

            port = 8649

            ttl = 1

          }

          udp_recv_channel {

            #mcast_join = 239.2.11.71

            port = 8649

            #bind = 239.2.11.71

            #retry_bind = true

            # Size of the UDP buffer. If you are handling lots of metrics you really

            # should bump it up to e.g. 10MB or even higher.

            # buffer = 10485760

          }

          tcp_accept_channel {

            port = 8649

            # If you want to gzip XML output

            gzip_output = no

          }

          cluster中的name屬性值與主節(jié)點(diǎn)gmetad.conf文件中data_source配置的hadoop_cluster一致

          安裝ganglia-web

          首先安裝httpd PHP

          [root@hadoop228 ~]# yum install httpd php

          下載并解壓縮ganglia-web-3.6.2.tar.gz

          [root@hadoop228 ~]# tar -zxf ganglia-web-3.6.2.tar.gz 

           

          進(jìn)入ganglia-web-3.6.2目錄修改ganglia-web安裝參數(shù)

          [root@hadoop228 ganglia-web-3.6.2]# vim Makefile

           

          修改默認(rèn)配置:

          GDESTDIR=/var/www/html/ganglia
           APACHE_USER = apache

          GDESTDIR 和 APACHE_USER 屬性值與/etc/httpd/conf/httpd.confAPACHE配置文件中的DocumentRootUser對(duì)應(yīng)

          執(zhí)行make install安裝

          [root@hadoop228 ganglia-web-3.6.2]# make install

          修改ganglia-web訪問(wèn)權(quán)限[根據(jù)具體情況可選]

          [root@hadoop228 ~]# chown -R apache:apache /var/www/html/ganglia

          [root@hadoop228 ~]# chown -R 755 /var/www/html/ganglia

          [root@hadoop228 ~]# chown -R nobody:nobody /var/lib/ganglia/rrds

          新建/etc/httpd/conf.d/ganglia.conf配置文件,并添加如圖配置:

           

          啟動(dòng)httpd、gmetad、gmond服務(wù)

           

          訪問(wèn)ganglia-web監(jiān)控頁(yè)面http://localhost/ganglia

           

           

          Ganglia 監(jiān)控 Hadoop集群

          HADOOP_PATH/etc/hadoop/目錄下有兩個(gè)配置文件:hadoop-metrics.properties和hadoop-metrics2.properties

          hadoop-metrics.properties 用于hadoop與3.1版本以前的ganglia集成做監(jiān)控的配置文件

          hadoop-metrics2.properties 用于hadoop與3.1版本以后的ganglia集成做監(jiān)控的配置文件本文使用hadoop2.5.1,因此使用hadoop-metrics2.properties配置文件

          [hadoop@hadoop228 ~]$ vim hadoop-2.5.1-single/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=10.120.20.228:8649  

          resourcemanager.sink.ganglia.servers=10.120.20.228:8649  

           

          datanode.sink.ganglia.servers=10.120.20.228:8649    

          nodemanager.sink.ganglia.servers=10.120.20.228:8649    

           

          maptask.sink.ganglia.servers=10.120.20.228:8649    

          reducetask.sink.ganglia.servers=10.120.20.228:8649

           

          啟動(dòng)hadoop

           

           

           

           

           

           

           

           

           

           

           

           

          在ganglia-web監(jiān)控頁(yè)面選擇某個(gè)hadoop節(jié)點(diǎn),進(jìn)入節(jié)點(diǎn)監(jiān)控頁(yè)面,如果能看到如下圖所示的監(jiān)控內(nèi)容表示配置成功

           

           

           

           

           

           

           

           

           

          Nagios與Ganglia整合

          本文使用的Nagios版本:

          nagios-4.0.8.tar.gz

          nagios-plugins-2.0.3.tar.gz

          安裝方法參考官網(wǎng)安裝文檔Installing_Nagios_Core_From_Source.pdf

           

           

          配置方式可參考:

          http://www.ibm.com/developerworks/cn/linux/l-ganglia-nagios-2/

          http://quenlang.blog.51cto.com/4813803/1571635

          按照上述文檔和文章的步驟可以正確配置,這里就不再累述了;整合成功,訪問(wèn)http://localhost/nagios如下圖所示:

           



          主站蜘蛛池模板: 镇沅| 云梦县| 莲花县| 胶南市| 都安| 巫山县| 凉城县| 丰都县| 敦煌市| 疏附县| 香河县| 龙泉市| 淮安市| 沁源县| 浦江县| 镇江市| 阿荣旗| 闻喜县| 云林县| 云南省| 郑州市| 洮南市| 武穴市| 墨玉县| 铜川市| 寻甸| 鹤山市| 繁峙县| 潮安县| 长沙市| 乡城县| 运城市| 全椒县| 上蔡县| 孟村| 疏勒县| 吴忠市| 安国市| 都昌县| 濮阳市| 泸定县|