使用Ganglia對hadoop進行監控
原文連結:http://www.cnblogs.com/lijun4017/archive/2011/08/11/2135031.html
Ganglia是一個監控伺服器,叢集的開源軟體,能夠用曲線圖表現最近一個小時,最近一天,最近一週,最近一月,最近一年的伺服器或者叢集的cpu負載,記憶體,網路,硬碟等指標。
Ganglia的強大在於:ganglia服務端能夠透過一臺客戶端收集到同一個網段的所有客戶端的資料,ganglia叢集服務端能夠透過一臺服務端收集到它下屬的所有客戶端資料。這個體系設計表示一臺伺服器能夠透過不同的分層能夠管理上萬臺機器。這個功能是其他mrtg,nagios,cacti所不能比擬。
因為hadoop的支援問題,我們推薦安裝ganglia3.0.3。
作業系統環境:CentOS5.2
叢集環境:
namenode 192.168.75.144
datanode1 192.168.75.145
datanode2 192.168.75.146
ganglia的服務端安裝在namenode上
下載安裝包,清單如下:
rrdtool-1.0.50-3.el5.rf.x86_64.rpm
ganglia-web-3.0.3-1.noarch.rpm
ganglia-gmetad-3.0.3-1.rhel4.x86_64.rpm
ganglia-gmond-3.0.3-1.rhel4.x86_64.rpm
一、安裝客戶端
#rpm -Uvh ganglia-gmond-3.0.3-1.rhel4.x86_64.rpm
安裝完畢以後gmond預設就啟動了,稍後可以使用service gmond start|stop|restart等控制啟動,停止,重啟等功能;
在/etc/下會產生一個gmond.conf的配置檔案。
在這個配置檔案中先找到setuid = yes,改成setuid =no;然後找到在cluster中的name,改成name ="hadoop-test";
其他都不用改了,儲存以後重啟gmond服務;
二、安裝伺服器端
1.首先安裝rrdtool
#rpm -Uvh rrdtool-1.0.50-3.el5.rf.x86_64.rpm
安裝以後執行rrdtool,能夠顯示版本號等資訊說明rrdtool安裝完畢
建立rrd資料儲存的資料夾, 修改屬性擁有者為: "nobody":
#mkdir /var/lib/ganglia/rrds
#chown nobody:nobody /var/lib/ganglia/rrds
2.安裝gmetad
#rpm -Uvh ganglia-gmetad-3.0.3-1.rhel4.x86_64.rpm
安裝過程中可能會提示依賴ruby 等包,一路使用yum install ruby安裝其他需要的包
安裝完成後gmetad服務預設就啟動了,稍後可以使用service gmetad start|stop|restart等控制啟動,停止,重啟等功能;
在/etc/下會產生一個gmetad.conf的配置檔案。
在這個配置檔案中主要是增加一些datasource,即被監控的機器的列表。
在我的例子中是
data_source "hadoop-test" hadoop-namenode:8649 hadoop-datanode1:8649 hadoop-datanode2:8649
其中"hadoop-test"是叢集名稱,呆會要和客戶端的gmond中配置的name要一致,後面多個機器名的話用空格隔開就可以了
配置過配置檔案以後,需要重啟gmetad來應用配置。
3.安裝web
#rpm -Uvh ganglia-web-3.0.3-1.noarch.rpm
安裝以後會在/var/www/html下面生成一個ganglia 的資料夾。
現在啟動apache
#service httpd start
啟動成功後,透過訪問就可以看到ganglia的首頁了。
另外要透過yum install php-gd安裝一個外掛,如果沒有這個外掛,首頁左下角會有一個餅圖無法顯示,也並不太影響使用。
三、配置hadoop檔案
找到hadoop根目錄下的conf資料夾下的hadoop-metrics.properties檔案
改成如下內容
# Configuration of the "dfs" context for ganglia
dfs.class=org.apache.hadoop.metrics.ganglia.GangliaContext
dfs.period=10
dfs.servers=239.2.11.71:8649
# Configuration of the "mapred" context for ganglia
mapred.class=org.apache.hadoop.metrics.ganglia.GangliaContext
mapred.period=10
mapred.servers=239.2.11.71:8649
# Configuration of the "jvm" context for ganglia
jvm.class=org.apache.hadoop.metrics.ganglia.GangliaContext
jvm.period=10
jvm.servers=239.2.11.71:8649
注:239.2.11.71這個是ganglia用的多播的地址,不需要改成gmetad的伺服器地址
如果需要監控hbase的話,也一樣找到hbase目錄下的這個檔案,改法一樣就不重複了。
改完以後重啟hadoop服務
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26613085/viewspace-1131753/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用Ganglia監控SparkSpark
- Ganglia+Hadoop+Hbase監控搭建流程Hadoop
- Ganglia監控工具
- Ganglia監控Hadoop叢集的安裝部署Hadoop
- 叢集監控工具ganglia
- ganglia監控的搭建部署
- 對table的操作進行監控
- 一種對雲主機進行效能監控的監控系統及其監控方法
- 使用 Sentry 對應用進行監控,少 bug 少加班
- ganglia 監控hadoop 叢集的配置檔案問題的一個說明.Hadoop
- 【Zabbix】如何使用Zabbix進行IPMI監控?
- springboot中使用actuator進行監控Spring Boot
- 分散式監控系統ganglia的詳細配置分散式
- 開源監控軟體ganglia安裝手冊
- Zabbix監控使用進階
- 使用Shell指令碼對Linux系統和程式資源進行監控指令碼Linux
- springboot中加入druid對sql進行監控Spring BootUISQL
- 利用資料庫trigger對安全進行監控資料庫
- 使用 iotop 監控哪些程式在進行I/O操作
- centos7使用ntopng進行流量監控和分析CentOS
- 使用aop來監控方法進行增強處理
- 在fedora中使用MRTG進行系統監控(zt)
- 使用AUDIT_SYSLOG_LEVEL進行Sys使用者行為監控
- 如何使用表格儲存控制檯進行資料監控
- 如何對伺服器進行24小時不間斷監控?伺服器
- Python對系統資料進行採集監控——psutilPython
- 使用Zabbix + Python對Mysql監控PythonMySql
- [Hadoop]chukwa與ganglia的區別Hadoop
- 使用 Skywalking 對 Kubernetes(K8s)中的微服務進行監控K8S微服務
- 如何進行網站的真實使用者監控(RUM)?怎麼進入監控網站網站
- Linux下使用pv監控進度Linux
- Spring Boot(二十):使用 spring-boot-admin 對 Spring Boot 服務進行監控Spring Boot
- 使用Prometheus和Grafana進行系統監控和預測 - flightawarePrometheusGrafana
- 分散式監控系統Zabbix--使用Grafana進行圖形展示分散式Grafana
- 如何有效使用Project(2)——進度計劃的執行與監控Project
- spring-boot-admin對spring-boot專案進行監控Springboot
- 【Zabbix配置】透過iLO進行Zabbix監控——針對HP伺服器整合伺服器
- java虛擬機器能不能實時對class物件進行監控Java虛擬機物件