现在的位置: 首页 > 综合 > 正文

HBase源码分析之org.apache.hadoop.hbase.coprocessor包

2013年08月07日 ⁄ 综合 ⁄ 共 610字 ⁄ 字号 评论关闭

该包下的类主要包括了coprocessor中的Observer和Endpoint, Endpoint在上一个章节已经阐述了,这里主要说一下Obsever。
Observer包括MasterObserver,RegionObserver和WALObserver,就类似RDBMS里面的trigger,Observer能够让我们针对Hbase的各种事件(比如put操作、get操作、Region的split或者是move等等)hook我们的代码,可以让我们的代码在这些事情对应操作之前执行(pre*)还是之后执行(post*),需要注意的就是我们hook的代码操作的对象是region,如果要操作所有的region就要靠endpoint了;
RegionCoprocessorHost:Region相关的coprocessor的容器类,可以在系统级hbase.coprocessor.region.classes、用户级hbase.coprocessor.user.region.classes、表级别(HTableDescriptor CORPROCESSOR$1)定义Corprocessor,
 Region在打开,关闭,split等操作时,会对RegionCoprocessorHost的pre*或者post*方法进行调用,pre*拦截函数,依次调用定义好的Coprosessor实现,来hook自己的代码。
 
未完,待完善

 

抱歉!评论已关闭.