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
二、 介紹
- gmond 是一個守護進程,他運行在每一個需要監測的節點上,收集監測統計,發送和接受在同一個組播或單播通道上的統計信息。
- gme tad 也是一個守護進程,他定期檢查gmonds ,從那裏拉取數據,並將他們的指標存儲在RRD存儲引擎中。它可以查詢多個集羣並聚合指標。RRD也被用於生成用戶界面的web前端。
- ganglia- web 顧名思義,他應該安裝在有gmetad運行的機器上,以便讀取RRD文件。
三、 安裝
1.apt-get方式安裝
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服務器
四、 配置
1.單播與組播
- 單播:可以跨網段傳播,只將信息發送給指定的機器。要配置成爲單播你應該指定一個(或者多個)接受的主機。
- 組播:在機器所處的網段中發送廣播,發送給位於同一網段的所有機器。如果你正在使用組播傳輸,那麼你沒必要改變任何東西,因爲這是Ganglia包安裝默認的。唯一要做的就是把gmetad指向一個或幾個運行着gmo nd的主機。沒有必要列出每一個單個主機,因爲gmo nd被設置爲接受模式時會包含所有主機的列表以及整個集羣的統計信息。
2.集羣配置
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
- service ganglia-monitor start (每臺機器都需要啓動)
- service gmetad start (在安裝了ganglia-webfrontend的機器上啓動)
六、 檢驗
- 以調試模式啓動gmetad:gmetad -d 9
- 查看gmetad收集到的XML文件:telnet 192.168.52.105 8649
七、 Ganglia-web的安裝
# 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(切忌後面不要有空格)
八、 監控Hadoop集羣
dfs.period=30
dfs.servers=192.168.52.105:8649
mapred.period=30
mapred.servers=192.168.52.105:8649
jvm.class=org.apache.hadoop.metrics.ganglia.GangliaContext31
jvm.period=30
jvm.servers=192.168.52.105:8649
轉自:http://www.dataguru.cn/article-3816-1.html