Hbase的Observer
hbase提供了类似于触发器的组件observer,类似于存储过程的endpoint。
hbase中的observer分别三类,MasterObserver、RegionObserver、WALObserevr
使用java代码也可以达到相同的效果,但是服务器端的observer相对是比较高效的
一、自定义obserevr
1.1继承BaseMasterObserver,重写其相应的方法
public class MyObserver extends BaseMasterObserver{
private Logger logger = LoggerFactory.getLogger(MyObserver.class);
@Override
public void preCreateTable(ObserverContext<MasterCoprocessorEnvironment> ctx, HTableDescriptor desc,
HRegionInfo[] regions) throws IOException {
logger.info("**************create table******************");
}
@Override
public void preDeleteTable(ObserverContext<MasterCoprocessorEnvironment> ctx, TableName tableName)
throws IOException {
logger.info("**************delete table******************");
}
}
1.2打成jar包放到hbase的lib目录下
1.3修改hbase-site.xml文件
这是hbase-default.xml文件中的配置
<property>
<name>hbase.coprocessor.master.classes</name>
<value></value>
</property>
修改为:
<property>
<name>hbase.coprocessor.master.classes</name>
<value>com.lanyun.hadoop2.MyObserver</value>
</property>
1.4重启hbase集群
1.5创建一张表,并且观察日志的变化
创建语句:
create 'tt1','f1'
日志的输出:
-- ::, INFO [FifoRpcScheduler.handler1-thread-] hadoop2.MyObserver: **************create table******************
-- ::, INFO [FifoRpcScheduler.handler1-thread-] master.HMaster: Client=root//192.168.163.129 create 'tt1', {NAME => 'f1', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL => 'FOREVER', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}
Hbase的Observer的更多相关文章
- HBase学习笔记-高级(一)
HBase1. hbase.id记录了集群的唯一标识:hbase.version记录了文件格式的版本号2. split和.corrupt目录在日志分裂过程中使用,以便保存一些中间结果和损坏的日志在表目 ...
- Hbase多列范围查找(效率)
Hbase索引表的结构 Hbase Rowkey 设计 Hbase Filter Hbase二级索引 Hbase索引表的结构 在HBase中,表格的Rowkey按照字典排序,Region按照RowKe ...
- HBase二级索引方案总结
转自:http://blog.sina.com.cn/s/blog_4a1f59bf01018apd.html 附hbase如何创建二级索引以及创建二级索引实例:http://www.aboutyun ...
- HBase 集群监控系统构建
HBase 集群监控系统构建 标签(空格分隔): Hbase 一, 集群为什么需要监控系统 总的来说是为了保证系统的稳定性,可靠性,可运维性.具体来说我认为有以下几点: 掌控集群的核心性能指标,了解集 ...
- 自定义HBase的协处理器(Observer)
自定义一个Observer... 总共分五步: 1°.继承BaseMasterObserver (写代码 具体看博客....) 案例(当在HBase中创建表的时候在日志中有相关输出): impor ...
- 使用Observer实现HBase到Elasticsearch的数据同步
最近在公司做统一日志收集处理平台,技术选型肯定要选择elasticsearch,因为可以快速检索系统日志,日志问题排查及功业务链调用可以被快速检索,公司各个应用的日志有些字段比如说content是不需 ...
- 通过HBase Observer同步数据到ElasticSearch
Observer希望解决的问题 HBase是一个分布式的存储体系,数据按照RowKey分成不同的Region,再分配给RegionServer管理.但是RegionServer只承担了存储的功能,如果 ...
- hbase协处理器编码实例
Observer协处理器通常在一个特定的事件(诸如Get或Put)之前或之后发生,相当于RDBMS中的触发器.Endpoint协处理器则类似于RDBMS中的存储过程,因为它可以让你在RegionSer ...
- 从零自学Hadoop(22):HBase协处理器
阅读目录 序 介绍 Observer操作 示例下载 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,Sour ...
随机推荐
- [ActionScript 3.0] AS3动画类Tweener中滤镜的运用
package { import caurina.transitions.Tweener; import caurina.transitions.properties.FilterShortcuts; ...
- 在delphi的exe文件中嵌入另外一个exe文件
http://www.cnblogs.com/dabiao/archive/2009/11/28/delphi.html 1.创建rc文件.可以用任意文本编辑器来写.文件格式为:"资源名 资 ...
- 无法重新组织表 "ty_wf_ex_local_process_info" 的索引 "idx_prc_act_id" (分区 1),因为已禁用页级锁定。
无法重新组织表 "ty_wf_ex_local_process_info" 的索引 "idx_prc_act_id" (分区 1),因为已禁用页级锁定. ALT ...
- AOP切入点注解报错
开始学习AOP,出现如下的错误,最后发现是JDK与aspectj,aspectjweaver版本问题造成的.之后改成最新版本,代码运行正常. 利用这些特性可以进行代码的插入,比如权限,缓存结合mecm ...
- javascript里面支持el表达式和<s:iterator>
javascript不支持jstl标签,支持<s:iterator>和el表达式
- JAVA设计模式之调停者模式
在阎宏博士的<JAVA与模式>一书中开头是这样描述调停者(Mediator)模式的: 调停者模式是对象的行为模式.调停者模式包装了一系列对象相互作用的方式,使得这些对象不必相互明显引用.从 ...
- HTML控件-Select
从今天开始,编写对于html控件的特性的探索文章,会广泛的引用网络的资源,所以本文的版权属于广大人民群众,欢迎转载,也同样禁止商业应用. [高手勿喷,标签页点击红色叉叉] select控件有一个特性: ...
- VS error retrieving information from user datastore
搭建好VS2005+PB6.0的开发环境后,新建MFC智能设备应用程序工程出错,错误信息如下: error retrieving information from user datastore 很奇怪 ...
- Unity3D 新人学习的一点感想
想到那里写到那里吧 1.Unity3D的优点大家都知道:组件化.c#语言.可见即所得. 当初刚开始学习的是cocos2dx,c++的货,觉得还是写的不错的,也是国人开发的,真的代码很容易懂,直接看引擎 ...
- &&和||的那点事儿
以前一直以为&&和||的运算结果就是布尔值,但今天看到一段代码又填补的一些知识漏洞. var a = (1&&2&&5) || 3; console.l ...