hbase外部页面无法打开,报错

HTTP ERROR 500
Problem accessing /master-status. Reason:

    Server Error
Caused by:
org.apache.hadoop.hbase.PleaseHoldException: Master is initializing
	at org.apache.hadoop.hbase.master.HMaster.isInMaintenanceMode(HMaster.java:2888)
	at org.apache.hadoop.hbase.tmpl.master.MasterStatusTmplImpl.renderNoFlush(MasterStatusTmplImpl.java:277)
	at org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl.renderNoFlush(MasterStatusTmpl.java:395)
	at org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl.render(MasterStatusTmpl.java:386)
	at org.apache.hadoop.hbase.master.MasterStatusServlet.doGet(MasterStatusServlet.java:81)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:848)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1772)
	at org.apache.hadoop.hbase.http.lib.StaticUserWebFilter$StaticUserFilter.doFilter(StaticUserWebFilter.java:112)

在这里插入图片描述
打开hbase中logs日志,查看最新的

hbase-root-master-node1.out

看到如下错误信息:

org.apache.hadoop.hbase.client.RetriesExhaustedException: Can't get the location for replica 0
        at org.apache.hadoop.hbase.client.RpcRetryingCallerWithReadReplicas.getRegionLocations(RpcRetryingCallerWithReadReplicas.java:333)
        at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.call(ScannerCallableWithReplicas.java:153)
        at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.call(ScannerCallableWithReplicas.java:58)
        at org.apache.hadoop.hbase.client.RpcRetryingCallerImpl.callWithoutRetries(RpcRetryingCallerImpl.java:191)
        at org.apache.hadoop.hbase.client.ClientScanner.call(ClientScanner.java:269)
        at org.apache.hadoop.hbase.client.ClientScanner.loadCache(ClientScanner.java:437)
        at org.apache.hadoop.hbase.client.ClientScanner.nextWithSyncCache(ClientScanner.java:312)
        at org.apache.hadoop.hbase.client.ClientScanner.next(ClientScanner.java:597)
        at org.apache.hadoop.hbase.MetaTableAccessor.scanMeta(MetaTableAccessor.java:766)
        at org.apache.hadoop.hbase.MetaTableAccessor.scanMeta(MetaTableAccessor.java:734)
        at org.apache.hadoop.hbase.MetaTableAccessor.scanMeta(MetaTableAccessor.java:690)
        at org.apache.hadoop.hbase.MetaTableAccessor.fullScanTables(MetaTableAccessor.java:240)
        at org.apache.hadoop.hbase.master.TableStateManager.fixTableStates(TableStateManager.java:228)
        at org.apache.hadoop.hbase.master.TableStateManager.start(TableStateManager.java:220)
        at org.apache.hadoop.hbase.master.HMaster.finishActiveMasterInitialization(HMaster.java:939)
        at org.apache.hadoop.hbase.master.HMaster.startActiveMasterManager(HMaster.java:2109)
        at org.apache.hadoop.hbase.master.HMaster.lambda$run$0(HMaster.java:566)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.IOException: Meta region is in state OPENING
        at org.apache.hadoop.hbase.client.ZKAsyncRegistry.lambda$null$1(ZKAsyncRegistry.java:154)
        at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:760)
        at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:736)
        at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)
        at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1962)
        at org.apache.hadoop.hbase.client.ZKAsyncRegistry.lambda$getAndConvert$0(ZKAsyncRegistry.java:77)
        at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:760)
        at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:736)
        at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)
        at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1962)
        at org.apache.hadoop.hbase.zookeeper.ReadOnlyZKClient$ZKTask$1.exec(ReadOnlyZKClient.java:171)
        at org.apache.hadoop.hbase.zookeeper.ReadOnlyZKClient.run(ReadOnlyZKClient.java:329)
        ... 1 more

在这里插入图片描述

解决方案

一,打开zk安装目录,连接zk客户端,删除hbase目录

zkCli.sh -server localhost:2181

在这里插入图片描述

--  查看zk根目录
ls /
-- 删除hbase相关文件
rmr /hbase

在这里插入图片描述
重启hbase,如不生效,开始第二步操作

二,删除hdfs中 hbase目录

慎重使用,本文在本地测试环境下,没有重要数据

在 hbase-site.xml 中有配置
在这里插入图片描述
在页面上直接删除,重启hbase即可。
在这里插入图片描述
参考文章连接:
https://stackoverflow.com/questions/64049638/hbase-installation-in-cluster-master-is-initializing-error

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐