解决HBase创建表报错:PleaseHoldException: Master is initializing

大数据技术 潘老师 3年前 (2021-04-30) 4346 ℃ (0) 扫码查看

HBase完全分布式环境下连上HBase服务器,发现list查看表没有问题,但是执行创建表时就报错如下:

hbase:001:0> create 'table2', 'cf1'

ERROR: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing
    at org.apache.hadoop.hbase.master.HMaster.checkInitialized(HMaster.java:2729)
    at org.apache.hadoop.hbase.master.HMaster.createTable(HMaster.java:1985)
    at org.apache.hadoop.hbase.master.MasterRpcServices.createTable(MasterRpcServices.java:705)
    at org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java)
    at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:395)
    at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:133)
    at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:338)
    at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:318)
解决办法:

1)该种异常的可能原因是主节点和从节点之间的的时间同步出现了问题,我们可以参考如下文章先将主从节点的服务器时间进行同步(你可能会发现虽然主从服务器都用的network time但是还是会出现零点几秒的偏差):

NTP方式同步服务器时间,解决org.apache.hadoop.yarn.exceptions.YarnException: Unauthorized request to start container

文章目录 一、存在的问题 二、解决步骤: 一、存在的问题 Hadoop在完全分布式下多个虚拟主机协同运行时,我 […]

同步完成之后,我们重启hadoop、ZooKeeper和hbase,再去试下是否能够创建表,如果成功,那就ok,如果还是不行,就继续往下看。

2)我这里发现同步之后还是有问题,于是查看了master主节点上的hadoop中logs下datanode节点日志:

cat hadoop-root-datanode-master.log | tail -200

发现报错如下:

java.net.ConnectException: Call From master1/192.168.32.101 to master1:9820 failed on connection exception: java.net.ConnectException: Connection refused; For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at org.apache.hadoop.net.NetUtils.wrapWithMessage(NetUtils.java:833)
    at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:757)
    at org.apache.hadoop.ipc.Client.getRpcResponse(Client.java:1549)
    at org.apache.hadoop.ipc.Client.call(Client.java:1491)
    at org.apache.hadoop.ipc.Client.call(Client.java:1388)
    at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:233)
    at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:118)
    at com.sun.proxy.$Proxy16.sendHeartbeat(Unknown Source)
    at org.apache.hadoop.hdfs.protocolPB.DatanodeProtocolClientSideTranslatorPB.sendHeartbeat(DatanodeProtocolClientSideTranslatorPB.java:168)
    at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.sendHeartBeat(BPServiceActor.java:517)
    at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.offerService(BPServiceActor.java:648)
    at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.run(BPServiceActor.java:849)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.net.ConnectException: Connection refused
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)
    at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206)
    at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:533)
    at org.apache.hadoop.ipc.Client$Connection.setupConnection(Client.java:700)
    at org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:804)
    at org.apache.hadoop.ipc.Client$Connection.access$3800(Client.java:421)
    at org.apache.hadoop.ipc.Client.getConnection(Client.java:1606)
    at org.apache.hadoop.ipc.Client.call(Client.java:1435)
    ... 9 more

出现了服务器连接问题,我这里的解决办法是:

a)停掉hbase和hadoop,ZooKeeper不用停掉

b)从zookeeper中删除hbase元数据节点

deleteall /hbase

c)删除hadoop所有节点的hadoopdata目录,即core-site.xmlhadoop.tmp.dir配置的目录

d)重新格式化hdfs

hdfs namenode -format

e)重启hadoop,ZooKeeper已经为启动状态,最后启动hbase,再去操作创建表,发现就ok了


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/java/bigdata/3140.html
喜欢 (6)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】