got org.apache.hadoop.hbase.pleseholdexception:修改hbase-site.xml中的hbase.coprocessor.region.classes时,主机正在初始化

mccptt67  于 2021-05-29  发布在  Hadoop
关注(0)|答案(0)|浏览(275)

伙计们,我想在hbase中添加一个区域观察者,代码如下:

public class TestAddColumnBaseRegionObserver extends BaseRegionObserver{

@Override

public void prePut(ObserverContext<RegionCoprocessorEnvironment> e, Put put, WALEdit edit, Durability durability) throws IOException {

     putUUIDColumnIfMissing(e, put, edit, durability);

}

private void     putUUIDColumnIfMissing(ObserverContext<RegionCoprocessorEnvironment> e, Put put,  WALEdit edit, Durability durability) {

    try {

        if(!put.has(Bytes.toBytes("cf1"), Bytes.toBytes("uuid"))) {

        String uuid = put.toString(); // md5

        put.add(Bytes.toBytes("cf1"), Bytes.toBytes("uuid"), Bytes.toBytes(uuid));

}

} catch (Exception e1) {

     e1.printStackTrace();

}

}

}

因此,如果表中没有“cf1:uuid”列,那么此代码将向表中添加一个新列“uuid”。
当我在hbase shell中手动添加.jar时,它可以工作,但是当我用另一种方法:修改hbase-site.xml时,通过将hbase.coprocessor.region.classes修改为testaddcolumnbaseregionobserver类

<property>

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

<value>com.hbase.hook.TestAddColumnBaseRegionObserver</value>

</property>

然后重新启动hbase,我在登录hbase shell和tred执行hbase命令时报告了一个错误

ERROR: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing   at org.apache.hadoop.hbase.master.HMaster.checkInitialized(HMaster.java:2177) at org.apache.hadoop.hbase.master.HMaster.checkNamespaceManagerReady(HMaster.java:2182) at org.apache.hadoop.hbase.master.HMaster.ensureNamespaceExists(HMaster.java:2375) at org.apache.hadoop.hbase.master.HMaster.createTable(HMaster.java:1444) at org.apache.hadoop.hbase.master.MasterRpcServices.createTable(MasterRpcServices.java:422) at org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java:48502) at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2114) at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:101) at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:130) at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:107) at java.lang.Thread.run(Thread.java:745)

以前有人遇到过类似的问题吗?或者你知道是什么导致这个问题吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题