Ganglia監控Hadoop集羣的安裝部署

摘要: Ganglia監控Hadoop集羣的安裝部署 一、 安裝環境 Ubuntu server 12.04 安裝gmetad的機器:192.168.52.105 安裝gmond的機 器:192.168.52.31,192.168.52.32,192.168.52.33,192.168.52.34,192.168.52.35,192.16 ...

Ganglia監控Hadoop集羣的安裝部署

一、 安裝環境 

  • Ubuntu server 12.04
  • 安裝gmetad的機器:192.168.52.105
  • 安裝gmond的機器:192.168.52.31,192.168.52.32,192.168.52.33,192.168.52.34,192.168.52.35,192.168.52.36,192.168.52.37,192.168.52.38,192.168.52.105
  • 瀏覽監控web頁面的機器:192.168.52.105 

二、 介紹 

Ganglia 監控套件包括三個主要部分:gmond,gmetad,和網頁接口,通常被稱爲ganglia- web。
  • gmond 是一個守護進程,他運行在每一個需要監測的節點上,收集監測統計,發送和接受在同一個組播或單播通道上的統計信息。
  • gme tad 也是一個守護進程,他定期檢查gmonds ,從那裏拉取數據,並將他們的指標存儲在RRD存儲引擎中。它可以查詢多個集羣並聚合指標。RRD也被用於生成用戶界面的web前端。
  • ganglia- web 顧名思義,他應該安裝在有gmetad運行的機器上,以便讀取RRD文件。
一般來說一個集羣的每臺機器上都需要安裝gmond,只要負責展示web界面的機器安裝了gmetad即可。

 

三、 安裝 

1.apt-get方式安裝

首先找一個結點當作web顯示的結點,使用以下命令一鍵安裝:
apt-get -y install ganglia-monitor ganglia-webfrontend
安裝了ganglia-webfrontend就相當於同時安裝了gmetad、ganglia-web和rrdtool等。
以上安裝的版本都是3.1.7,因爲ubuntu官方源裏面只支持到ganglia-webfrontend-3.1.7,起中使用的Ganglia Web Frontend版本也是3.1.7,版本太低,顯示的界面很不友好,因此後面的文章我會介紹如何手動安裝Ganglia Web Frontend version 3.5.7(目前最高版本已經到3.6)。如果爲了方便,對於監控的界面要求不高的話,又圖省事,可以用上述命令一鍵安裝。
除了安裝ganglia-webfrontend的主機,其他主機只需要安裝ganglia-monitor即可。

 

2.鏈接到web服務器

安裝ganglia-webfrontend的時候就已經安裝了Apache Web Server,Ganglia-webfrontend默認安裝的位置是/usr/share/ganglia-webfront,現在還不能通過瀏覽器訪問Ganglia監控界面,需要執行以下命令將將ganglia的文件鏈接到apache的默認目錄下。

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

四、 配置 

1.單播與組播

 
在進行Ganglia集羣配置之前,首先要搞清楚單播和組播。

  • 單播:可以跨網段傳播,只將信息發送給指定的機器。要配置成爲單播你應該指定一個(或者多個)接受的主機。
  • 組播:在機器所處的網段中發送廣播,發送給位於同一網段的所有機器。如果你正在使用組播傳輸,那麼你沒必要改變任何東西,因爲這是Ganglia包安裝默認的。唯一要做的就是把gmetad指向一個或幾個運行着gmo nd的主機。沒有必要列出每一個單個主機,因爲gmo nd被設置爲接受模式時會包含所有主機的列表以及整個集羣的統計信息。
關於單播和組播更詳細的介紹和相關配置請參照:Ganglia快速開始嚮導(翻譯自官方wiki)  http://www.linuxidc.com/Linux/2013-11/92747.htm,或者直接查看官方wiki

 

2.集羣配置

 
我的Ganglia監控集羣使用了單播模式。所有的配置都在/etc/ganglia目錄下,在每個節點上都要配置/etc/ganglia/gmond.conf.
紅色字體爲修改項。
 
 
globals {
daemonize = yes
setuid = yes
user = root /*運行Ganglia的用戶*/
debug_level = 0
max_udp_msg_len = 1472
mute = no
deaf = no
host_dmax = 120 /*secs */
cleanup_threshold = 300 /*secs */
gexec = no
send_metadata_interval = 15 /*發送數據的時間間隔*/
}


cluster {
name = "hadoop_hf" /*集羣名稱*/
owner = "root" /*運行Ganglia的用戶*/

latlong = "unspecified"
url = "unspecified"
}


udp_send_channel {
# mcast_join = 192.168.52.105 /*註釋掉組播*/
host = 192.168.52.105 /*發送給安裝gmetad的機器*/

port = 8649
ttl = 1
}

五、 啓動Ganglia

 
 
使用apt-get方式安裝的Ganglia,可以直接用service方式啓動。
  • service ganglia-monitor start (每臺機器都需要啓動)
  • service gmetad start (在安裝了ganglia-webfrontend的機器上啓動)
 
 

六、 檢驗

 
 
登錄瀏覽器查看:http://192.168.52.105/ganglia,如果Hosts up爲9即表示安裝成功。
若安裝不成功,有幾個很有用的調試命令:
  • 以調試模式啓動gmetadgmetad -d 9
  • 查看gmetad收集到的XML文件:telnet 192.168.52.105 8649
 
 

七、 Ganglia-web的安裝

 
 
因爲3.1.7版本的Ganglia-web實在太醜,因此我卸載了ganglia-webfrontend,然後單獨安裝了gmetad後又安裝了新版的Ganglia-web-3.5.10.
按照官方的說明,首先將tar.gz文件解壓,然後進入解壓後的目錄,修改Makefile文件中的如下四個配置:
# Location where gweb should be installed to (excluding conf, dwoo dirs).
GDESTDIR = /var/www/ganglia


# Gweb statedir (where conf dir and Dwoo templates dir are stored)
GWEB_STATEDIR = /var/lib/ganglia


# Gmetad rootdir (parent location of rrd folder)
GMETAD_ROOTDIR = /var/lib/ganglia


APACHE_USER = root(切忌後面不要有空格)
 
重新啓動gmetad。登錄http://192.168.52.105/ganglia後如果配置有問題可以根據網頁中的報錯修改。一般會出現文件讀寫權限錯誤,沒有rrd目錄就需要自己創建,conf和cache目錄的權限需要修改爲777。
 
監控界面截圖:

八、 監控Hadoop集羣

修改Hadoop的配置文件/etc/hadoop/hadoop-metrics.properties,根據文件中的說明,修改三處:
dfs.class=org.apache.hadoop.metrics.ganglia.GangliaContext31
dfs.period=30
dfs.servers=192.168.52.105:8649
 
mapred.class=org.apache.hadoop.metrics.ganglia.GangliaContext31
mapred.period=30
mapred.servers=192.168.52.105:8649
 
jvm.class=org.apache.hadoop.metrics.ganglia.GangliaContext
jvm.class=org.apache.hadoop.metrics.ganglia.GangliaContext31
jvm.period=30
jvm.servers=192.168.52.105:8649
 
所有的servers都修改爲安裝爲gmetad的機器IP。
重啓Hadoop datanode:service hadoop-datanode restart
重啓gmond:/usr/sbin/gmond restart

轉自:http://www.dataguru.cn/article-3816-1.html
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章