hbase 协处理器 部署_hbase 协处理器
1、自定义协处理器
hbase 版本: 2.x
使用自定义的协处理器需要实现Coprocessor, RegionObserver, CoprocessorService这三个接口,如下图:
可以看出协处理器的加载分为静态加载和动态加载,静态加载需要修改hbase-site.xml配置文件,这将对所有的hbase表生效;如果单纯的只对某张表生效,需要通过hbase shell命令行方式进行动态的加载。
2、动态加载协处理器
这种方式想要对表的所有region生效,那么最好是将jar包放到hdfs上面,如下:
2.1 上传jar包
hadoop fs -put jar名字 /tmp
2.2 配置协处理器
# 操作表的时候需要关闭表:
hbase> disable test1
# 加载协处理器
hbase> alter mytable, METHOD => table_att, coprocessor => /tmp/hbase-solr-1.1-SNAPSHOT.jar|com.xxx.hbase.coprocesser.SolrIndexCoprocessorObserver|1
hbase> enable mytable # 开启表
配置协处理器的结构如下:
hbase> alter mytable, METHOD => table_att, coprocessor => ①|②|③|④
解释下上面各个参数:
①:协处理器Jar包路径,要保证所有的RegionServer可读取到。也可以是本地路径,不过建议是放在HDFS上。
②:协处理器的完整类名。
③:协处理器优先级,整数表示。可以为空。
④:传递给协处理器的参数,可以为空。
注:各参数间不要有空格。
2.3 查看表的描述信息
2.4 卸载协处理器
hbase> disable mytable # 禁用表,
hbase> alter mytable, METHOD => table_att_unset, NAME => coprocessor$1
hbase> enable mytable # 禁用表后启用表,
注意
① 如果协处理器实现的接口异常,从表对应的regionserver的日志里面将看到如下错误:
② 如果协处理器的代码重新改过了,需要做如下操作才能重新加载协处理器
方式1:重启regionserver
方式2:把jar包重新改名字,重新修改表的协处理器信息,否则表依然加载的是以前的信息
1、自定义协处理器 hbase 版本: 2.x 使用自定义的协处理器需要实现Coprocessor, RegionObserver, CoprocessorService这三个接口,如下图: 可以看出协处理器的加载分为静态加载和动态加载,静态加载需要修改hbase-site.xml配置文件,这将对所有的hbase表生效;如果单纯的只对某张表生效,需要通过hbase shell命令行方式进行动态的加载。 2、动态加载协处理器 这种方式想要对表的所有region生效,那么最好是将jar包放到hdfs上面,如下: 2.1 上传jar包 hadoop fs -put jar名字 /tmp 2.2 配置协处理器 # 操作表的时候需要关闭表: hbase> disable test1 # 加载协处理器 hbase> alter mytable, METHOD => table_att, coprocessor => /tmp/hbase-solr-1.1-SNAPSHOT.jar|com.xxx.hbase.coprocesser.SolrIndexCoprocessorObserver|1 hbase> enable mytable # 开启表 配置协处理器的结构如下: hbase> alter mytable, METHOD => table_att, coprocessor => ①|②|③|④ 解释下上面各个参数: ①:协处理器Jar包路径,要保证所有的RegionServer可读取到。也可以是本地路径,不过建议是放在HDFS上。 ②:协处理器的完整类名。 ③:协处理器优先级,整数表示。可以为空。 ④:传递给协处理器的参数,可以为空。 注:各参数间不要有空格。 2.3 查看表的描述信息 2.4 卸载协处理器 hbase> disable mytable # 禁用表, hbase> alter mytable, METHOD => table_att_unset, NAME => coprocessor$1 hbase> enable mytable # 禁用表后启用表, 注意 ① 如果协处理器实现的接口异常,从表对应的regionserver的日志里面将看到如下错误: ② 如果协处理器的代码重新改过了,需要做如下操作才能重新加载协处理器 方式1:重启regionserver 方式2:把jar包重新改名字,重新修改表的协处理器信息,否则表依然加载的是以前的信息