我正试图在k8s上建立由s3支持的hbase作为poc,为此绞尽脑汁已经两天了。
到目前为止,我已经成功地在一个容器中设置了一个包含zk、hbase master、hbase regionserver、hbase rest和hbase thrift服务的pod;它们都是由主管发起的。
第一次运行时(当s3 bucket为空时),一切正常。但是,如果pod由于任何原因崩溃或重新启动,那么主机在重新启动后无法初始化,并且处于失败状态。它不断地重新启动错误 Caused by: java.io.IOException: Timedout 300000ms waiting for namespace table to be assigned and enabled: tableName=hbase:namespace, state=ENABLED
每隔3分钟,hbase shell上的任何命令都会导致:
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)
在线文章说,一个意外的regionserver崩溃可能会导致这个问题,这可以通过清理zookeeper来解决,然而,在我的情况下,即使zookeeper已经重新启动,因此重新启动。
难道没有办法在s3上以这种方式快速生成hbase吗?
hbase在持久性存储区中实际存储了哪些数据/元数据导致它以这种方式失败?
注意:我不运行任何hadoop/hdfs服务,因为我直接写入s3;wal存储在本地的pod中,重启后被清除。
暂无答案!
目前还没有任何答案,快来回答吧!