org.apache.hadoop.hbase.PleaseHoldException:Master正在初始化

时间:2013-06-11 07:46:30

标签: hadoop hbase hive

我正在尝试设置Hbase的多节点集群。当我在奴隶上做jps时我得到了

5780 Jps
5558 HQuorumPeer
5684 HRegionServer
1963 DataNode
2093 TaskTracker

同样在主人身上我得到了

4254 SecondaryNameNode
15226 Jps
14982 HMaster
3907 NameNode
14921 HQuorumPeer
4340 JobTracker

EVANthing正常运行。但是当我尝试在hbase shell上创建表时。它给出了一个错误

ERROR: org.apache.hadoop.hbase.PleaseHoldException: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing

我的奴隶的区域服务器日志(区域服务器正在运行):

2013-06-11 13:09:53,119 INFO org.apache.hadoop.hbase.regionserver.HRegionServer: Attempting connect to Master server at localhost,60000,137093$
2013-06-11 13:10:53,190 WARN org.apache.hadoop.hbase.regionserver.HRegionServer: Unable to connect to master. Retrying. Error was:
org.apache.hadoop.hbase.ipc.HBaseClient$FailedServerException: This server is in the failed servers list: localhost/127.0.0.1:60000
        at org.apache.hadoop.hbase.ipc.HBaseClient$Connection.setupIOstreams(HBaseClient.java:425)
        at org.apache.hadoop.hbase.ipc.HBaseClient.getConnection(HBaseClient.java:1124)
        at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:974)
        at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Invoker.invoke(WritableRpcEngine.java:86)
        at $Proxy8.getProtocolVersion(Unknown Source)
        at org.apache.hadoop.hbase.ipc.WritableRpcEngine.getProxy(WritableRpcEngine.java:138)
        at org.apache.hadoop.hbase.ipc.HBaseRPC.waitForProxy(HBaseRPC.java:208)
        at org.apache.hadoop.hbase.regionserver.HRegionServer.getMaster(HRegionServer.java:2037)
        at org.apache.hadoop.hbase.regionserver.HRegionServer.reportForDuty(HRegionServer.java:2083)
        at org.apache.hadoop.hbase.regionserver.HRegionServer.run(HRegionServer.java:744)
        at java.lang.Thread.run(Thread.java:722)
2013-06-11 13:10:53,391 INFO org.apache.hadoop.hbase.regionserver.HRegionServer: Attempting connect to Master server at localhost,60000,137093$

仅供参考,我还在主服务器和从服务器上处理/ etc / hosts文件。

127.0.0.1       localhost
127.0.0.1       naresh-PC

我再次将/ etc / hosts文件127.0.1.1中的更改​​更改为naresh-PC。但仍然收到此错误

2013-06-11 14:51:17,781 INFO org.apache.hadoop.hbase.regionserver.HRegionServer: Attempting connect to Master server at naresh-pc,60000,137094$
2013-06-11 14:52:17,817 WARN org.apache.hadoop.hbase.regionserver.HRegionServer: Unable to connect to master. Retrying. Error was:
java.net.UnknownHostException: unknown host: naresh-pc
        at org.apache.hadoop.hbase.ipc.HBaseClient$Connection.<init>(HBaseClient.java:276)
        at org.apache.hadoop.hbase.ipc.HBaseClient.createConnection(HBaseClient.java:255)
        at org.apache.hadoop.hbase.ipc.HBaseClient.getConnection(HBaseClient.java:1111)
        at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:974)
        at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Invoker.invoke(WritableRpcEngine.java:86)
        at $Proxy8.getProtocolVersion(Unknown Source)
        at org.apache.hadoop.hbase.ipc.WritableRpcEngine.getProxy(WritableRpcEngine.java:138)
        at org.apache.hadoop.hbase.ipc.HBaseRPC.waitForProxy(HBaseRPC.java:208)
        at org.apache.hadoop.hbase.regionserver.HRegionServer.getMaster(HRegionServer.java:2037)
        at org.apache.hadoop.hbase.regionserver.HRegionServer.reportForDuty(HRegionServer.java:2083)
        at org.apache.hadoop.hbase.regionserver.HRegionServer.run(HRegionServer.java:744)
        at java.lang.Thread.run(Thread.java:722)

4 个答案:

答案 0 :(得分:13)

尝试清除Zookeeper中的所有状态。

  • 停止Zookeeper
  • 擦除Zookeeper数据目录
  • 重新启动

我遇到了同样的问题,并采用了这种方法,并且工作正常。

答案 1 :(得分:4)

您需要将从属节点上的配置更改为指向主节点。它当前指向localhost而不是连接到实际的master:

  

“org.apache.hadoop.hbase.ipc.HBaseClient $ FailedServerException:this   服务器位于故障服务器列表中:localhost / 127.0.0.1:60000 at“

答案 2 :(得分:1)

我在Docker中托管我自己的集群。这就是我的情况。我在HBase日志文件中找到了错误,发现“Master通过了一个不同的主机名来使用”

false

我在我的hosts文件中将my-host-name映射到111.22.333.444,重新启动HBase并且它工作正常。

答案 3 :(得分:0)

对于具有以下配置的完全分布式hbase群集,我也遇到了同样的问题。

  1. 主节点(节点A)
  2. 备份主机($ HBASE_HOME / conf / backup-master)(Node-B&amp; Node-C)
  3. 3个复制服务器(Node-A,Node-B&amp; Node-C)
  4. RCA: 尝试在群集启动时启动备份主节点。

    解 我通过在所有hbase节点中使$ HBASE_HOME / conf / backup-masters为空来删除备份主服务器。

    所以我的群集在没有备份主人的情况下运行。

    我想知道主节点和主节点是否也不能用作区域服务器?但HBase文档说不然。