Hadoop监控
目前采用方案:Zabbix+Hue+Kafka Manager
1.Zabbix
Zabbix主要监控相关进程是否存活以及针对运行时间过长的任务进行报警,目前暂定为1个小时
原理:通过Hadoop提供的jmx接口获取相关数据给zabbix
监控的项目:
进程ResourceManager,NameNode,HMaster 为0的时候触发报警。
Hadoop集群的节点数不为16的时候触发报警。
Hadoop 正在 执行任务超过60分钟的任务个数,不为0的时候触发报警。
2.Hue
Hue是cloudera开源的一套针对Hadoop及相关组件的可视化及监控工具
目前可以对hdfs,mapreduce,hive,hbase,zookeeper,oozie,spark等进行监控。
目前监控的项目:
hdfs中的数据
mapreduce相关任务情况
hbase中的数据
zookeeper的运行情况
3.Kafka Manager
Kafka Manager是雅虎开源的一套针对Kafka的监控工具。修复了一些Kafka开源监控因为Spark Streaming系统并没有将消费的偏移量发送到Zookeeper中导致监控失效的缺点。
目前监控的项目:
Kafka集群运行情况及各个Topic的详细参数
部分截图如下:
重要问题汇总:
1. 启动服务后若网页显示django错误:attempt to write a readonly database或 unable to open database file,
是因为目录或文件权限不够,导致sqlite无法访问到数据库文件及临时文件。
修改命令如下:
chmod 777 hue-master/desktop/
chmod 766 hue-master/desktop/desktop.db
2.about页显示配置错误:Hive Editor – Failed to access Hive warehouse: /user/hive/warehouse
解决方案:找到源码中 /apps/beeswax/src/beeswax/conf.py的第138行,修改hive属性 hive.metastore.warehouse.dir 到/hive/warehouse,
3.Hbase app报错:
无法联系到 HBase Thrift 服务器:Could not connect to localhost:9090
原因是1.没有启动HBase Thrift,2.没有安装Thrift。
Hbase默认Thrift只支持java连接,需要编译安装Thrift来支持python,php等语言。
解决方案:在Hadoop22上安装Thrift后启动Hbase thrift。