重新部署后HBase协处理器不更新

时间:2018-03-29 09:38:10

标签: hadoop hbase

我正在使用HBase 1.1.2,并尝试重新部署自定义端点协处理器以修复我的Java代码中的错误。我对协处理器代码进行了一些更改,并通过以下步骤重新部署:

  1. 重建协处理器jar
  2. 将其复制到HDFS上的某个位置
  3. 删除现有协处理器:alter 'table', METHOD => 'table_att_unset',NAME => 'coprocessor$1'
  4. 通过HBase UI确认该表没有连接协处理器
  5. 通过禁用该表并运行alter 'table', METHOD => 'table_att', 'coprocessor'=>'hdfs:///user/bwatson/sum-coprocessor-0.1.0-SNAPSHOT.jar|uk.co.hadoopathome.coprocessor.SumAndCountEndpoint||'
  6. 来添加新的协处理器
  7. 重新启用表格
  8. 通过HBase UI确认已连接协处理器
  9. 当我重新运行与协处理器通信的客户端代码时,我可以在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
    

    我可以从这个罐子的日期和大小确认它是旧版本。

    这是HBase中的错误吗?我怎么能绕过这个?

2 个答案:

答案 0 :(得分:0)

重启HBase就行了; /tmp/hbase-hbase/local/jars/tmp/中的jar已被删除,我的下一次部署成功。

这是HBase中的一个错误,无论是在文档还是代码中。我将用HBase Jira加票。

答案 1 :(得分:0)

您需要重启hbase服务器。

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

当hbase运行时,您无法更改协处理器jar文件。所以你应该在第6步之后重新启动hbase服务器。