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"]