HBase的Web页面使用了一个jamon的模板语言。
Jamon是一个java文本模板引擎,用于生成动态HTML、XML或任何基于文本的内容。它有一个丰富的功能集,支持封装、参数化、功能分解、表达逻辑重用。模板声明它们要求生成的参数,包括动态模板内容(“fragments”),并被翻译成带有公有方法的java类,它的符号反应了在模板中声明的参数。
HBase WebUI涉及到的几个文件:
hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl文件下有三个文件夹:
common、master、regionserver
分别对应了Master和RegionServer页面上显示的基本内容。这些.jamon文件会在编译后生成对应的类。
HBase的web UI系统可以拆成两个部分,便于理解:
其一是:http request/response处理,这一部分主要集中在hbase-server/src/main/java/org/apache/hadoop/hbase/http
需要重点关注的类是InfoServer。InfoServer类中有一个成员变量httpServer,这个类用于处理hbase与web之间的通信连接等问题。
以HRegonServer为例,HRegoinServer类是HRegionServer进城的主入口,阅读代码,可以看到,它定义了InfoServer类型的成员变量,用于该进程与web的通信。
infoServer.addServlet(“rs-status”,”/rs-sta

HBase的WebUI利用Jamon模板引擎生成动态内容。Master和RegionServer的页面内容分别在src/main/jamon下的相应目录。InfoServer处理HTTP请求,并通过Servlet如RSStatusServlet传递数据。数据采集通过MetricsRegionServerWrapper,它周期性更新指标,供WebUI和Ganglia使用。RegionServer的读写请求计数等信息由ServerLoad和RegionLoad类提供。
最低0.47元/天 解锁文章
7316





