hbase协处理器在重新部署后未更新

qxsslcnc  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(407)

我正在使用hbase 1.1.2,并尝试重新部署一个自定义端点协处理器来修复java代码中的错误。我对协处理器代码进行了一些更改,并通过以下步骤重新部署了它:
重建协处理器jar
将其复制到hdfs上的某个位置
删除现有协处理器: alter 'table', METHOD => 'table_att_unset',NAME => 'coprocessor$1' 通过hbase ui确认表没有附加协处理器
通过禁用表并运行 alter 'table', METHOD => 'table_att', 'coprocessor'=>'hdfs:///user/bwatson/sum-coprocessor-0.1.0-SNAPSHOT.jar|uk.co.hadoopathome.coprocessor.SumAndCountEndpoint||' 重新启用表
通过hbase ui确认已连接协处理器
当我重新运行与协处理器对话的客户机代码时,我可以在regionserver日志中清楚地看到旧的协处理器代码仍在运行。
如果在托管表的regionserver上本地搜索jar,我会发现jar只在一个位置:

find / -name "*um-coprocesso*"
/tmp/hbase-hbase/local/jars/tmp/.2107072457.sum-coprocessor-0.1.0-SNAPSHOT.jar.1522237762363.jar
/tmp/hbase-hbase/local/jars/tmp/..2107072457.sum-coprocessor-0.1.0-SNAPSHOT.jar.1522237762363.jar.crc

我可以从这个jar的日期和大小来确认它是旧版本的。
这是hbase中的错误吗?我怎么才能避开这个?

svgewumm

svgewumm1#

重启hbase成功了;jar在里面 /tmp/hbase-hbase/local/jars/tmp/ 已删除,我的下一次部署成功。
无论是在文档中还是在代码中,这都是hbase中的一个bug。我要向赫伯斯·吉拉开罚单。

kkih6yb8

kkih6yb82#

您需要重新启动hbase服务器。

cd $HBASE_HOME/bin
$sh stop-hbase.sh
$sh start-hbase.sh

在hbase运行时不能更改协处理器jar文件。因此,您应该在步骤6之后重新启动hbase服务器。

相关问题