我在Windows中使用来自here的Cygwin配置了HBase-0.98.6.1并安装了hadoop-2.5.1。为了在完全分布式模式下运行HBase,我正在关注this。
我想在完全分发模式下使用2个区域服务器运行HBase。
群集设置
外部动物园管理员
在一周之前,我可以毫无问题地运行HBase。 但是今天,我遇到了连接到HMaster的regionserver2的问题。 regionserver1(本地机器)可以与HMaster连接,但是regionserver2失败。
异常
2014-11-06 11:46:16,144 INFO [regionserver60020] regionserver.HRegionServer:reportForDuty to master = synclapn3382,60000,1415254568454,port = 60020,startcode = 1415254574190 2014-11-06 11:46:16,248 WARN [regionserver60020] regionserver.HRegionServer:告诉主人我们错了 com.google.protobuf.ServiceException:java.net.SocketException:网络无法访问:无其他信息 在org.apache.hadoop.hbase.ipc.RpcClient.callBlockingMethod(RpcClient.java:1678) at org.apache.hadoop.hbase.ipc.RpcClient $ BlockingRpcChannelImplementation.callBlockingMethod(RpcClient.java:1719) at org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos $ RegionServerStatusService $ BlockingStub.regionServerStartup(RegionServerStatusProtos.java:8277) 在org.apache.hadoop.hbase.regionserver.HRegionServer.reportForDuty(HRegionServer.java:2102) 在org.apache.hadoop.hbase.regionserver.HRegionServer.run(HRegionServer.java:857) 在java.lang.Thread.run(Thread.java:745) 引起:java.net.SocketException:网络无法访问:没有进一步的信息 at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:739) 在org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206) 在org.apache.hadoop.net.NetUtils.connect(NetUtils.java:529) 在org.apache.hadoop.net.NetUtils.connect(NetUtils.java:493) 在org.apache.hadoop.hbase.ipc.RpcClient $ Connection.setupConnection(RpcClient.java:578) 在org.apache.hadoop.hbase.ipc.RpcClient $ Connection.setupIOstreams(RpcClient.java:868) 在org.apache.hadoop.hbase.ipc.RpcClient.getConnection(RpcClient.java:1543) 在org.apache.hadoop.hbase.ipc.RpcClient.call(RpcClient.java:1442) 在org.apache.hadoop.hbase.ipc.RpcClient.callBlockingMethod(RpcClient.java:1661) ......还有5个 2014-11-06 11:46:16,249 WARN [regionserver60020] regionserver.HRegionServer:reportForDuty失败;睡觉,然后重试。
我已正确地在 / etc / hosts 文件中指定了主机名。我可以从命令提示符ping主IP。我不明白为什么会发生这种异常。
答案 0 :(得分:0)
你启用了rDNS吗? regionserver2正在尝试连接到“synclapn3382”,这是您的主名称。我会尝试使用该主机名从rs2 ping到master,以检查它是否可以访问它。