HBase协处理器加载的方式有哪些

技术HBase协处理器加载的方式有哪些这篇文章主要介绍“HBase协处理器加载的方式有哪些”,在日常操作中,相信很多人在HBase协处理器加载的方式有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望

本文主要介绍“HBase协处理器的加载方法有哪些”。在日常操作中,相信很多人对HBase协处理器的加载方式有所怀疑。边肖查阅了各种资料,整理出简单易用的操作方法,希望能帮助大家解答“HBase协处理器的加载方式有哪些”的疑惑!接下来,请和边肖一起学习!

加载HBase协处理器的三种方法

外壳装载

1.上传HDFS

将打包的hello processor-0 . 0 . 1 . jar上传到服务器,并将其放在HDFS上。

#切换hadoop用户以创建演示目录

$ HDFS DFS-mkdir/usr/hbase/协处理器

$ HDFS DFS-put hello processor-0 . 0 . 1 . jar/usr/hbase/协处理器

2.外壳加载协处理器

让我们假设它的协处理器类的包名是:

org.myname.hbase .协处理器. RegionObserverExample

壳牌的运作方式如下:

禁用“我的表”#禁用表,可选

hbase alter 'mytable ',METHOD='table_att ','协处理器'='/usr/hbase/协处理器/hello processor-0 . 0 . 1 . jar ' | org . myname . hbase .协处理器. regionobserverexcample | 1001 | arg 1=1,arg2=2 '

Hbase enable 'mytable' #禁用表格后启用表格,可选。

结构如下:

hbase alter 'mytable ',METHOD='table_att ','协处理器'=|||'

解释上述参数:

:协处理器Jar包的路径,应该是所有RegionServer都可读的。也可以是本地路径,但建议放在HDFS。

:完整的协处理器类名。

:协处理器优先级,整数。可以是空的。

:传递给协处理器的参数可以为空。

注意:参数之间不应有空格。

3.验证协处理器是否已加载。

desc '我桌子'

表mytable已启用

mytable,{ TABLE _ ATTRIBUTES={协处理器$ 1='/usr/hbase/协处理器/hello processor-0 . 0 . 1 . jar“| org . my name . hbase .协处理器. regionobserverexcample | 1001 | arg 1=1,arg2=2'}}

这种验证不能保证协处理器能够正常工作:shell命令不能保证jar文件存在于特定的位置,也不能验证给定的类是否实际包含在jar文件中。

4.卸载协处理器

禁用“我的表”#禁用表,可选

hbase alter 'mytable ',METHOD='table_att_unset ',NAME='协处理器$1 '

Hbase enable 'mytable' #禁用表格后启用表格,可选。

Pit:如果修改协处理器代码,在不重启HBase的情况下重新加载协处理器,请重命名协处理器Jar包,否则不会生效。(因为当前的JVM引用了现有的协处理器,所以需要通过重新启动RegionServer来重新启动JVM,以便替换它。)

Api加载

方法是调用HtableDescriptor的add协处理器方法。此方法有两个重载方法:

添加协处理器(字符串类名)

添加协处理器(类名、jarPath、优先级、kvs)

第二种重载方法提供了上述Shell中所需的所有参数 。第一种方法需要用户手动将jar包分发到每个RegionServer的lib目录中。

示例代码如下:

TableName TableName=TableName . value of(' my table ');

Path Path=new Path(' HDFS ://NameNode : port/usr/hbase/协处理器/hello proc

essor-0.0.1.jar");

Configuration conf = HBaseConfiguration.create();

Connection connection = ConnectionFactory.createConnection(conf);

Admin admin = connection.getAdmin();

admin.disableTable(tableName);

HTableDescriptor hTableDescriptor = new HTableDescriptor(tableName);

HColumnDescriptor columnFamily1 = new HColumnDescriptor("f1");

columnFamily1.setMaxVersions(1);

hTableDescriptor.addFamily(columnFamily1);

HColumnDescriptor columnFamily2 = new HColumnDescriptor("f2");

columnFamily2.setMaxVersions(3);

hTableDescriptor.addFamily(columnFamily2);

hTableDescriptor.addCoprocessor('org.myname.hbase.Coprocessor.RegionObserverExample', path,

Coprocessor.PRIORITY_USER, null);

admin.modifyTable(tableName, hTableDescriptor);

admin.enableTable(tableName);

重新加载表定义,无需使用addCoprocessor()方法设置协处理器的值。这将删除附加到表的任何协处理器。

配置文件加载

1. 修改配置文件:hbase-site.xml,配置项如下:

1.1 RegionObservers/Endpoints

<property>

    <name>hbase.coprocessor.region.classes</name>

    <value>org.myname.hbase.Coprocessor.RegionObserverExample</value>

</property>

1.2 WALObservers

<property>

    <name>hbase.coprocessor.wal.classes</name>

    <value>org.myname.hbase.Coprocessor.RegionObserverExample</value>

</property>

1.3 MasterObservers

<property>

    <name>hbase.coprocessor.master.classes</name>

    <value>org.myname.hbase.Coprocessor.RegionObserverExample</value>

</property>

如果想同时配置多个协处理器,可以用逗号分隔多个协处理器的类名。

2. 添加Jar包

将您的代码放在HBase的类路径上。一种简单的方法是将jar(包含代码和所有依赖项)放入HBase的安装目录lib/中。

3. 重启HBase生效。

4. 静态卸载

从hbase-site.xml中删除协处理器的元素,包括子元素。

重启HBase。

从类路径或HBase的lib/目录中删除协处理器的JAR文件。(可选)

到此,关于“HBase协处理器加载的方式有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/138731.html

(0)

相关推荐

  • 四时田园杂兴题目意思,四时田园杂兴的全部意思

    技术四时田园杂兴题目意思,四时田园杂兴的全部意思四时田园杂兴古诗的意思是:一树树梅子变得金黄,杏子也越长越大了;荞麦花一片雪白,油菜花倒显得稀稀落落四时田园杂兴题目意思。白天长了,篱笆的影子随着太阳的升高变得越来越短,没

    生活 2021年10月23日
  • SQL Server数据库mdf文件中了勒索病毒的解决方法是什么

    技术SQL Server数据库mdf文件中了勒索病毒的解决方法是什么这篇文章主要介绍“SQL Server数据库mdf文件中了勒索病毒的解决方法是什么”,在日常操作中,相信很多人在SQL Server数据库mdf文件中了

    攻略 2021年11月8日
  • 怎么做一个Excel动态图表

    技术怎么做一个Excel动态图表本篇文章给大家分享的是有关怎么做一个Excel动态图表,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。 本文说明下图是一个比较

    攻略 2021年10月21日
  • css如何实现鼠标经过显示离开隐藏效果

    技术css如何实现鼠标经过显示离开隐藏效果小编给大家分享一下css如何实现鼠标经过显示离开隐藏效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧

    攻略 2021年11月14日
  • 三个向造句,用“向”“向”“向”三个词造句

    技术三个向造句,用“向”“向”“向”三个词造句在大会上我们向英雄致敬,向英雄献花,还宣誓要向英雄学习三个向造句。花儿向太阳微笑,向风儿点头,向蜜蜂问好。我向小猫学喵喵叫,向袋鼠学跳跃,向猴子学爬树。向前、向前,向前,我们

    生活 2021年10月21日
  • Git操作命令

    技术Git操作命令 Git操作命令1、新建代码库# 公众号:AllTests软件测试# 在当前目录新建一个Git代码库
    $ git init# 新建一个目录,将其初始化为Git代码库
    $ git ini

    礼包 2021年11月23日