一、 安裝環(huán)境
- Ubuntu server 12.04?
- 安裝gmetad的機(jī)器:192.168.52.105
- 安裝gmond的機(jī)器: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頁面的機(jī)器:192.168.52.105
二、 介紹
Ganglia 監(jiān)控套件包括三個(gè)主要部分:gmond,gmetad,和網(wǎng)頁接口,通常被稱為ganglia- web。
- gmond 是一個(gè)守護(hù)進(jìn)程,他運(yùn)行在每一個(gè)需要監(jiān)測(cè)的節(jié)點(diǎn)上,收集監(jiān)測(cè)統(tǒng)計(jì),發(fā)送和接受在同一個(gè)組播或單播通 道上的統(tǒng)計(jì)信息。
- gme tad 也是一個(gè)守護(hù)進(jìn)程,他定期檢查gmonds ,從那里拉取數(shù)據(jù),并將他們的指標(biāo)存儲(chǔ)在RRD存儲(chǔ)引擎中。它 可以查詢多個(gè)集群并聚合指標(biāo)。RRD也被用于生成用戶界面的web前端。
- ?ganglia- web 顧名思義,他應(yīng)該安裝在有g(shù)metad運(yùn)行的機(jī)器上,以便讀取RRD文件。
三、 安裝
1.apt-get方式安裝
首先找一個(gè)結(jié)點(diǎn)當(dāng)作web顯示的結(jié)點(diǎn),使用以下命令一鍵安裝:
apt-get -y install ganglia-monitor ganglia-webfrontend?
安裝了ganglia-webfrontend就相當(dāng)于同時(shí)安裝了gmetad、ganglia-web和rrdtool等。
以上安裝的版本都是3.1.7,因?yàn)閡buntu官方源里面只支持到ganglia-webfrontend-3.1.7,起中使用的Ganglia Web Frontend版本也是3.1.7,版本太低,顯示的界面很不友好,因此后面的文章我會(huì)介紹如何手動(dòng)安裝Ganglia Web Frontend version 3.5.7(目前最高版本已經(jīng)到3.6)。如果為了方便,對(duì)于監(jiān)控的界面要求不高的話,又圖省事,可以用上述命令一鍵安裝。
除了安裝ganglia-webfrontend的主機(jī),其他主機(jī)只需要安裝ganglia-monitor即可。
apt-get -y install ganglia-monitor ganglia-webfrontend?
安裝了ganglia-webfrontend就相當(dāng)于同時(shí)安裝了gmetad、ganglia-web和rrdtool等。
以上安裝的版本都是3.1.7,因?yàn)閡buntu官方源里面只支持到ganglia-webfrontend-3.1.7,起中使用的Ganglia Web Frontend版本也是3.1.7,版本太低,顯示的界面很不友好,因此后面的文章我會(huì)介紹如何手動(dòng)安裝Ganglia Web Frontend version 3.5.7(目前最高版本已經(jīng)到3.6)。如果為了方便,對(duì)于監(jiān)控的界面要求不高的話,又圖省事,可以用上述命令一鍵安裝。
除了安裝ganglia-webfrontend的主機(jī),其他主機(jī)只需要安裝ganglia-monitor即可。
2.鏈接到web服務(wù)器
安裝ganglia-webfrontend的時(shí)候就已經(jīng)安裝了Apache Web Server,Ganglia-webfrontend默認(rèn)安裝的位置是/usr/share/ganglia-webfront,現(xiàn)在還不能通過瀏覽器訪問Ganglia監(jiān)控界面,需要執(zhí)行以下命令將將ganglia的文件鏈接到apache的默認(rèn)目錄下。
ln -s /usr/share/ganglia-webfront /var/www/ganglia
四、 配置
1.單播與組播
在進(jìn)行Ganglia集群配置之前,首先要搞清楚單播和組播。
- 單播:可以跨網(wǎng)段傳播,只將信息發(fā)送給指定的機(jī)器。要配置成為單播你應(yīng)該指定一個(gè)(或者多個(gè))接受的主機(jī)。
- 組播:在機(jī)器所處的網(wǎng)段中發(fā)送廣播,發(fā)送給位于同一網(wǎng)段的所有機(jī)器。如果你正在使用組播傳輸,那么你沒必要改變?nèi)魏螙|西,因?yàn)檫@是Ganglia包安裝默認(rèn)的。唯一要做的就是把gmetad指向一個(gè)或幾個(gè)運(yùn)行著gmo nd的主機(jī)。沒有必要列出每一個(gè)單個(gè)主機(jī),因?yàn)間mo nd被設(shè)置為接受模式時(shí)會(huì)包含所有主機(jī)的列表以及整個(gè)集群的統(tǒng)計(jì)信息。
2.集群配置
我的Ganglia監(jiān)控集群使用了單播模式。所有的配置都在/etc/ganglia目錄下,在每個(gè)節(jié)點(diǎn)上都要配置/etc/ganglia/gmond.conf.
紅色字體為修改項(xiàng)。
globals {
? daemonize = yes
? setuid = yes
? user = root /*運(yùn)行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ù)的時(shí)間間隔*/
}
cluster {
? name = "hadoop_hf" /*集群名稱*/
? owner = "root" /*運(yùn)行Ganglia的用戶*/
? latlong = "unspecified"
? url = "unspecified"
}
udp_send_channel {
# ?mcast_join = 192.168.52.105 /*注釋掉組播*/
? host = 192.168.52.105 /*發(fā)送給安裝gmetad的機(jī)器*/
? port = 8649
? ttl = 1
}
? daemonize = yes
? setuid = yes
? user = root /*運(yùn)行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ù)的時(shí)間間隔*/
}
cluster {
? name = "hadoop_hf" /*集群名稱*/
? owner = "root" /*運(yùn)行Ganglia的用戶*/
? latlong = "unspecified"
? url = "unspecified"
}
udp_send_channel {
# ?mcast_join = 192.168.52.105 /*注釋掉組播*/
? host = 192.168.52.105 /*發(fā)送給安裝gmetad的機(jī)器*/
? port = 8649
? ttl = 1
}
五、 啟動(dòng)Ganglia
?
?
使用apt-get方式安裝的Ganglia,可以直接用service方式啟動(dòng)。
- service ganglia-monitor start (每臺(tái)機(jī)器都需要啟動(dòng))
- service gmetad start (在安裝了ganglia-webfrontend的機(jī)器上啟動(dòng))
?
?
六、 檢驗(yàn)
?
?
登錄瀏覽器查看:http://192.168.52.105/ganglia,如果Hosts up為9即表示安裝成功。
若安裝不成功,有幾個(gè)很有用的調(diào)試命令:
- 以調(diào)試模式啟動(dòng)gmetad : gmetad -d 9?
- 查看gmetad收集到的XML文件:telnet 192.168.52.105 8649?
?
?
七、 Ganglia-web的安裝
?
?
因?yàn)?.1.7版本的Ganglia-web實(shí)在太丑,因此我卸載了ganglia-webfrontend,然后單獨(dú)安裝了gmetad后又安裝了新版的Ganglia-web-3.5.10.
按照官方的說明,首先將tar.gz文件解壓,然后進(jìn)入解壓后的目錄,修改Makefile文件中的如下四個(gè)配置:
# 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的機(jī)器IP。
重啟Hadoop datanode:service hadoop-datanode restart
重啟gmond:/usr/sbin/gmond restart
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

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