【Hbase】【05】协处理器

1.官网

http://hbase.apache.org/1.4/book.html#cp

HBase协处理器以Google BigTable的一部分(http://www.scribd.com/doc/21631448/Dean-Keynote-Ladis2009,第66-67页)的协处理器为模型。
协处理器的功能类似于Linux内核模块。它们提供了一种针对本地存储的数据运行服务器级代码的方法。
它们提供的功能非常强大,但也带来很大的风险,并且可能会对操作系统级别的系统产生不利影响。
本章中的信息主要来自赖明杰的博客,网址为https://blogs.apache.org/hbase/entry/coprocessor_introduction。

协处理器不是为HBase的最终用户设计的,而是由需要向HBase添加专门功能的HBase开发人员使用的。
使用协处理器的一个示例是可插拔压缩和扫描策略,它们在HBASE-6427 https://issues.apache.org/jira/browse/HBASE-6427中作为协处理器提供。

2.协处理器分类

2.1框架根据其范围提供两种不同类型的协处理器。

协处理器的类型
系统协处理器
系统协处理器全局加载在区域服务器托管的所有表和区域上。

表协处理器
您可以按表指定应在表的所有区域上加载哪些协处理器。

2.2该框架还提供了扩展的两个不同方面:Observer 、Endpoint

Observer
观察者类似于常规数据库中的触发器。它们允许您通过覆盖协处理器框架提供的上行调用方法来插入用户代码。发生事件时,将从核心HBase代码执行回调函数。回调由框架处理,协处理器本身仅需要插入扩展功能或备用功能。
An example of an observer is included in hbase-examples/src/test/java/org/apache/hadoop/hbase/coprocessor/example/TestZooKeeperScanPolicyObserver.java. Several endpoint examples are included in the same directory.

ReginObserver 提供客户端的数据操作事件钩子:Get Put Delete Scan 等
安全性:例如再get put之前,通过pregeet preput 检查权限
引入完整性约束
二级索引

MasterObserver 提供DDL类型的操作钩子: 创建、删除、修改表
WALObserver 提供WAL相关的钩子

Endpoint(HBase 0.96.x和更高版本)
由于引入了协议缓冲区(protobuf),HBase 0.96.x中端点的实现发生了显着变化(HBASE-5488),。如果您在0.96.x之前创建端点,则需要重写它们。现在定义了端点并将其称为protobuf服务,而不是作为可写Blob传递的端点调用

Endpoint(HBase 0.94.x和更早版本)
动态RPC端点类似于存储过程。可以随时从客户端调用端点。调用它时,将在一个或多个目标区域中远程执行它,并将执行结果返回给客户端。

3.例子

An example of an observer is included in hbase-examples/src/test/java/org/apache/hadoop/hbase/coprocessor/example/TestZooKeeperScanPolicyObserver.java. Several endpoint examples are included in the same directory.

4开发协处理器

https://blog.csdn.net/huiyanshizhen21/article/details/105042467

5.查看协处理器状态

status ‘detailed’

6.监控协处理器

HBase 0.98.5 introduced the ability to monitor some statistics relating to the amount of time spent executing a given coprocessor. You can see these statistics via the HBase Metrics framework (see [hbase_metrics] or the Web UI for a given Region Server, via the Coprocessor Metrics tab. These statistics are valuable for debugging and benchmarking the performance impact of a given coprocessor on your cluster. Tracked statistics include min, max, average, and 90th, 95th, and 99th percentile. All times are shown in milliseconds. The statistics are calculated over coprocessor execution samples recorded during the reporting interval, which is 10 seconds by default. The metrics sampling rate as described in [hbase_metrics].

HBase 0.98.5引入了监视某些统计信息的功能,该统计信息与执行给定协处理器所花费的时间有关。您可以通过“ 协处理器度量”选项卡上的HBase度量框架(请参阅[hbase_metrics]或给定区域服务器的Web UI)查看这些统计信息。这些统计信息对于调试和确定给定协处理器对群集的性能影响非常有用。跟踪的统计信息包括最小值,最大值,平均值以及第90、95和99个百分位数,所有时间均以毫秒为单位显示,这些统计信息是根据报告间隔内记录的协处理器执行样本(默认值为10秒)计算得出的。如[hbase_metrics]中所述。

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值