一、 安裝環(huán)境
- 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
- 瀏覽監(jiān)控web頁面的機器:192.168.52.105
二、 介紹
Ganglia 監(jiān)控套件包括三個主要部分:gmond,gmetad,和網(wǎng)頁接口,通常被稱為ganglia- web。
- gmond 是一個守護進程,他運行在每一個需要監(jiān)測的節(jié)點上,收集監(jiān)測統(tǒng)計,發(fā)送和接受在同一個組播或單播通 道上的統(tǒng)計信息。
- gme tad 也是一個守護進程,他定期檢查gmonds ,從那里拉取數(shù)據(jù),并將他們的指標存儲在RRD存儲引擎中。它 可以查詢多個集群并聚合指標。RRD也被用于生成用戶界面的web前端。
- ?ganglia- web 顧名思義,他應(yīng)該安裝在有g(shù)metad運行的機器上,以便讀取RRD文件。
三、 安裝
1.apt-get方式安裝
首先找一個結(jié)點當作web顯示的結(jié)點,使用以下命令一鍵安裝:
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(目前最高版本已經(jīng)到3.6)。如果為了方便,對于監(jiān)控的界面要求不高的話,又圖省事,可以用上述命令一鍵安裝。
除了安裝ganglia-webfrontend的主機,其他主機只需要安裝ganglia-monitor即可。
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(目前最高版本已經(jīng)到3.6)。如果為了方便,對于監(jiān)控的界面要求不高的話,又圖省事,可以用上述命令一鍵安裝。
除了安裝ganglia-webfrontend的主機,其他主機只需要安裝ganglia-monitor即可。
2.鏈接到web服務(wù)器
安裝ganglia-webfrontend的時候就已經(jīng)安裝了Apache Web Server,Ganglia-webfrontend默認安裝的位置是/usr/share/ganglia-webfront,現(xiàn)在還不能通過瀏覽器訪問Ganglia監(jiān)控界面,需要執(zhí)行以下命令將將ganglia的文件鏈接到apache的默認目錄下。
ln -s /usr/share/ganglia-webfront /var/www/ganglia
四、 配置
1.單播與組播
在進行Ganglia集群配置之前,首先要搞清楚單播和組播。
- 單播:可以跨網(wǎng)段傳播,只將信息發(fā)送給指定的機器。要配置成為單播你應(yīng)該指定一個(或者多個)接受的主機。
- 組播:在機器所處的網(wǎng)段中發(fā)送廣播,發(fā)送給位于同一網(wǎng)段的所有機器。如果你正在使用組播傳輸,那么你沒必要改變?nèi)魏螙|西,因為這是Ganglia包安裝默認的。唯一要做的就是把gmetad指向一個或幾個運行著gmo nd的主機。沒有必要列出每一個單個主機,因為gmo nd被設(shè)置為接受模式時會包含所有主機的列表以及整個集群的統(tǒng)計信息。
2.集群配置
我的Ganglia監(jiān)控集群使用了單播模式。所有的配置都在/etc/ganglia目錄下,在每個節(jié)點上都要配置/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 /*發(fā)送數(shù)據(jù)的時間間隔*/
}
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 /*發(fā)送給安裝gmetad的機器*/
? port = 8649
? ttl = 1
}
? 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 /*發(fā)送數(shù)據(jù)的時間間隔*/
}
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 /*發(fā)送給安裝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即表示安裝成功。
若安裝不成功,有幾個很有用的調(diào)試命令:
- 以調(diào)試模式啟動gmetad : gmetad -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(切忌后面不要有空格)
監(jiān)控界面截圖:


八、 監(jiān)控Hadoop集群
修改Hadoop的配置文件/etc/hadoop/hadoop-metrics.properties,根據(jù)文件中的說明,修改三處:
dfs.class=org.apache.hadoop.metrics.ganglia.GangliaContext31
dfs.period=30
dfs.servers=192.168.52.105:8649
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
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
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
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
