hbase创建表失败(2.1.9)

hbase(main):002:0> create "bayonet20211218","groupdata"

ERROR: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing
        at org.apache.hadoop.hbase.master.HMaster.checkInitialized(HMaster.java:2989)
        at org.apache.hadoop.hbase.master.HMaster.createTable(HMaster.java:1964)
        at org.apache.hadoop.hbase.master.MasterRpcServices.createTable(MasterRpcServices.java:636)
        at org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java)
        at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:413)
        at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:133)
        at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:324)
        at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:304)

For usage try help "create"

查看hbase-root-regionserver-Commit-Master.out日志,得知报错详情

2022-04-08 15:09:38,503 INFO  [RS_OPEN_META-regionserver/Commit-Master:16020-0] wal.AbstractFSWAL: Closed WAL: AsyncFSWAL commit-master%2C16020%2C1649401496146.meta:.meta(num 1649401778502)
2022-04-08 15:09:38,503 ERROR [RS_OPEN_META-regionserver/Commit-Master:16020-0] handler.OpenRegionHandler: Failed open of region=hbase:meta,,1.1588230740
java.lang.NoClassDefFoundError: Could not initialize class org.apache.hadoop.hbase.io.asyncfs.FanOutOneBlockAsyncDFSOutputHelper
        at org.apache.hadoop.hbase.io.asyncfs.AsyncFSOutputHelper.createOutput(AsyncFSOutputHelper.java:51)
        at org.apache.hadoop.hbase.regionserver.wal.AsyncProtobufLogWriter.initOutput(AsyncProtobufLogWriter.java:169)
        at org.apache.hadoop.hbase.regionserver.wal.AbstractProtobufLogWriter.init(AbstractProtobufLogWriter.java:166)
        at org.apache.hadoop.hbase.wal.AsyncFSWALProvider.createAsyncWriter(AsyncFSWALProvider.java:113)
        at org.apache.hadoop.hbase.regionserver.wal.AsyncFSWAL.createWriterInstance(AsyncFSWAL.java:643)
        at org.apache.hadoop.hbase.regionserver.wal.AsyncFSWAL.createWriterInstance(AsyncFSWAL.java:126)
        at org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL.rollWriter(AbstractFSWAL.java:767)
        at org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL.rollWriter(AbstractFSWAL.java:501)
        at org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL.init(AbstractFSWAL.java:442)
        at org.apache.hadoop.hbase.wal.AbstractFSWALProvider.getWAL(AbstractFSWALProvider.java:156)
        at org.apache.hadoop.hbase.wal.AbstractFSWALProvider.getWAL(AbstractFSWALProvider.java:61)
        at org.apache.hadoop.hbase.wal.WALFactory.getWAL(WALFactory.java:284)
        at org.apache.hadoop.hbase.regionserver.HRegionServer.getWAL(HRegionServer.java:2157)
        at org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler.openRegion(OpenRegionHandler.java:284)
        at org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler.process(OpenRegionHandler.java:107)
        at org.apache.hadoop.hbase.executor.EventHandler.run(EventHandler.java:104)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

试了很多种办法,包括Linux环境时间同步、进入zkCLI删除/hbase文件、删除hbase数据都无法解决,最后是在hbase配置文件中添加如下配置信息得以解决。 hbase-site.xml

<property>
        <name>hbase.wal.provider</name>
        <value>filesystem</value>
</property>

验证

hbase(main):001:0> create "bayonet20211218","groupdata"
Created table bayonet20211218
Took 1.1492 seconds
=> Hbase::Table - bayonet20211218
hbase(main):002:0> list
TABLE
bayonet20211218
1 row(s)
Took 0.0389 seconds
=> ["bayonet20211218"]
经验分享 程序员 微信小程序 职场和发展