Hadoop本身自带的HDFS和JobTracker监控页面是最好用的监控页面,简单明了。但是现在想要自己开发一套监控系统,那该怎样去获取Hadoop集群的当前状况呢?
网页抓取
首先,想到的办法是抓取网页,通过抓取50030和50070页面获得监控的数据。不得不说,这个办法实在是太土了,不到万不得已真的不好意思用。脚本如下:
[root@localhost libexec]# cat check_hadoop_dfs.py
'''
Created on 20131101
@author: yangyang.feng
'''
#!/usr/bin/env python
import commands
import sys
from optparse import OptionParser
import urllib
import re
def get_dfs_free_percent():
urlItem = urllib.urlopen("http://192.168.20.201:50070/dfshealth.jsp")
html = urlItem.read()
urlItem.close()
return float(re.findall('.+<td id="col1"> DFS Remaining%<td id="col2"> :<td id="col3">\\s+(.+)%<tr class="rowNormal">.+', html)[0])
if __name__ == '__main__':
pars