zoukankan      html  css  js  c++  java
  • 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包重新改名字,重新修改表的协处理器信息,否则表依然加载的是以前的信息

    https://www.cnblogs.com/zpb2016/p/12717301.html
    https://datamining.blog.csdn.net/article/details/83275885

  • 相关阅读:
    Codeforces 812E Sagheer and Apple Tree
    bzoj 4765: 普通计算姬
    bzoj 4552: [Tjoi2016&Heoi2016]排序
    bzoj 1096: [ZJOI2007]仓库建设
    bzoj 1030: [JSOI2007]文本生成器
    bzoj 1095: [ZJOI2007]Hide 捉迷藏
    JS实现HashMap
    A4纸表格打印
    JAVA字符串格式化-String.format()的使用
    证书打印CSS知识点总结
  • 原文地址:https://www.cnblogs.com/yjt1993/p/13863398.html
Copyright © 2011-2022 走看看