Hadoop本身提供了很多监控工具的接口,如JMX、Nagios、Ganglia等。使用Ganglia监控hadoop,配置起来非常简单,只需要修改$HADOOP_HOME/conf/hadoop-metrics.properties文件,把相关的配置段修改为下面的示例:
 
  
  1. # Configuration of the "dfs" context for ganglia 
  2. # Pick one: Ganglia 3.0 (former) or Ganglia 3.1 (latter) 
  3. dfs.class=org.apache.hadoop.metrics.ganglia.GangliaContext 
  4. dfs.class=org.apache.hadoop.metrics.ganglia.GangliaContext31 
  5. dfs.period=10 
  6. dfs.servers=239.2.11.71:8649   /*该地址为必须为广播地址,否则采集不到数据!!
  7.  
  8. # Configuration of the "mapred" context for ganglia 
  9. # Pick one: Ganglia 3.0 (former) or Ganglia 3.1 (latter) 
  10. mapred.class=org.apache.hadoop.metrics.ganglia.GangliaContext 
  11. mapred.class=org.apache.hadoop.metrics.ganglia.GangliaContext31 
  12. mapred.period=10 
  13. mapred.servers=239.2.11.71:8649  
  14.  
  15. # Configuration of the "jvm" context for ganglia 
  16. jvm.class=org.apache.hadoop.metrics.ganglia.GangliaContext 
  17. jvm.period=10 
  18. jvm.servers=239.2.11.71:8649 
   配置文件的其它部分保持默认。
   把配置文件分发到各个datanode节点上,然后重启hadoop集群,就可以在Ganglia的监控页面中看到Hadoop各个节点的运行情况。HBase的监控同样照此处理。
   注意:我的Ganglia版本为3.17,Hadoop版本为cloudera版,版本为hadoop-0.20.2-CDH3B4;不同的Ganglia和Hadoop版本,要修改的东西会有不同,请自行核对。