首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >org.apache.hadoop.hbase.PleaseHoldException:主机正在初始化

org.apache.hadoop.hbase.PleaseHoldException:主机正在初始化
EN

Stack Overflow用户
提问于 2013-06-11 15:46:30
回答 6查看 31.8K关注 0票数 17

我正在尝试设置Hbase的多节点集群。当我在slave上执行jps时,我得到

代码语言:javascript
复制
5780 Jps
5558 HQuorumPeer
5684 HRegionServer
1963 DataNode
2093 TaskTracker

同样,在master上我得到了

代码语言:javascript
复制
4254 SecondaryNameNode
15226 Jps
14982 HMaster
3907 NameNode
14921 HQuorumPeer
4340 JobTracker

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

代码语言:javascript
复制
ERROR: org.apache.hadoop.hbase.PleaseHoldException: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing

我的备机的regionserver日志( region server正在运行):

代码语言:javascript
复制
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文件。

代码语言:javascript
复制
127.0.0.1       localhost
127.0.0.1       naresh-PC

我再次将/etc/hosts文件127.0.1.1更改为naresh-PC。但是仍然得到这个错误

代码语言:javascript
复制
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)
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2013-07-29 12:44:56

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

  • Stop Zookeeper
  • Wipe Zookeeper data directory
  • Start Zookeeper

我得到了同样的问题,并遵循这种方法,它工作得很好。

票数 21
EN

Stack Overflow用户

发布于 2013-06-11 16:23:02

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

localhost "org.apache.hadoop.hbase.ipc.HBaseClient$FailedServerException:此服务器在失败服务器列表中:

/127.0.0.1:60000,地址为"

票数 4
EN

Stack Overflow用户

发布于 2016-10-07 04:43:47

我在Docker内部托管我自己的集群。以下是在我的案例中起作用的方法。我在HBase日志文件中查找错误,发现“主机传递给我们一个不同的主机名以供使用”

代码语言:javascript
复制
`[root@docker-iop bin]# grep ERROR /var/log/hbase/hbase-hbase-regionserver-bi-mgmt01.local.log
2016-10-06 00:05:29,816 ERROR [regionserver/bi-mgmt01.local/111.11.2.3:16020] regionserver.HRegionServer: Master passed us a different hostname to use; was=my-host-name, but now=111.22.33.444'

我将my-host-name映射到我的主机文件中的111.22.333.444,重新启动了HBase,它工作了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17038957

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档