目前监控hadoop集群的主要工具有ganglia,nagios,zabbix等。其中ganglia最方便,hadoop中有自带jmx接口,启用了就行,但使用默认的监控方式,监控服务器磁盘会吃不消,并产生大量数据,故需要进行过滤(支持正则表达式),能过滤大量无用信息,但效果没有想象的好,个人觉得主要原因在于ganglia默认界面太丑,重复图片过多,一个监控项有四个图,占位置,且默认使用rrd数据库,数据完整性无法保证。
使用jmxtrans+influxdb+granafa主要原因在于自由度高,按监控所需自由搭配,数据完整性得到保证,界面漂亮。
使用前应做的:
安装jdk,hbase集群。
influxdb,granafa(可参考:http://blog.csdn.net/qq_27078095/article/details/52088423)
开启jmx监控选项
编辑hbase-env.sh,修改如下
# export HBASE_JMX_BASE="-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
# export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS $HBASE_JMX_BASE -Dcom.sun.management.jmxremote.port=10101"
# export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS $HBASE_JMX_BASE -Dcom.sun.management.jmxremote.port=10102"
# export HBASE_THRIFT_OPTS="$HBASE_THRIFT_OPTS $HBASE_JMX_BASE -Dcom.sun.management.jmxremote.port=10103"
# export HBASE_ZOOKEEPER_OPTS="$HBASE_ZOOKEEPER_OPTS $HBASE_JMX_BASE -Dcom.sun.management.jmxremote.port=10104"
# export HBASE_REST_OPTS="$HBASE_REST_OPTS $HBASE_JMX_BASE -Dcom.sun.management.jmxremote.port=10105"
变成