Hbase Thrift无法在RegionServer上运行:getMaster尝试失败,返回java.net.ConnectException:连接被拒绝

Hbase Thrift无法在RegionServer上运行:getMaster尝试失败,返回java.net.ConnectException:连接被拒绝,hbase,thrift,Hbase,Thrift,我尝试在每个regionserver上运行Thrift(用于mapreduce输入以及将来的负载平衡) 启动Thrift服务器失败,但是,12/01/30 15:52:32 INFO client.HConnectionManager$HConnectionImplementation:getMaster尝试10次中的9次失败;不再重试。 有一个到主机的路由(pings成功),hbase master在默认端口上运行(并使用lsof-i:60000确认存在),但我仍然得到 12/01/30 15

我尝试在每个regionserver上运行Thrift(用于mapreduce输入以及将来的负载平衡)

启动Thrift服务器失败,但是,
12/01/30 15:52:32 INFO client.HConnectionManager$HConnectionImplementation:getMaster尝试10次中的9次失败;不再重试。

有一个到主机的路由(pings成功),hbase master在默认端口上运行(并使用lsof-i:60000确认存在),但我仍然得到

12/01/30 15:52:32 INFO client.HConnectionManager$HConnectionImplementation: getMaster attempt 9 of 10 failed; no more retrying.
java.net.ConnectException: Connection refused
        at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
        at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:574)
        at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206)
        at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:408)
        at org.apache.hadoop.hbase.ipc.HBaseClient$Connection.setupIOstreams(HBaseClient.java:328)
        at org.apache.hadoop.hbase.ipc.HBaseClient.getConnection(HBaseClient.java:883)
        at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:750)
        at org.apache.hadoop.hbase.ipc.HBaseRPC$Invoker.invoke(HBaseRPC.java:257)
        at $Proxy4.getProtocolVersion(Unknown Source)
        at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:419)
        at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:393)
        at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:444)
        at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getMaster(HConnectionManager.java:360)
        at org.apache.hadoop.hbase.client.HBaseAdmin.<init>(HBaseAdmin.java:94)
        at org.apache.hadoop.hbase.thrift.ThriftServer$HBaseHandler.<init>(ThriftServer.java:194)
        at org.apache.hadoop.hbase.thrift.ThriftServer$HBaseHandler.<init>(ThriftServer.java:188)
        at org.apache.hadoop.hbase.thrift.ThriftServer.doMain(ThriftServer.java:870)
        at org.apache.hadoop.hbase.thrift.ThriftServer.main(ThriftServer.java:927)
Exception in thread "main" org.apache.hadoop.hbase.MasterNotRunningException: master:60000
        at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getMaster(HConnectionManager.java:396)
        at org.apache.hadoop.hbase.client.HBaseAdmin.<init>(HBaseAdmin.java:94)
        at org.apache.hadoop.hbase.thrift.ThriftServer$HBaseHandler.<init>(ThriftServer.java:194)
        at org.apache.hadoop.hbase.thrift.ThriftServer$HBaseHandler.<init>(ThriftServer.java:188)
        at org.apache.hadoop.hbase.thrift.ThriftServer.doMain(ThriftServer.java:870)
        at org.apache.hadoop.hbase.thrift.ThriftServer.main(ThriftServer.java:927)
12/01/30 15:52:32信息客户端.HConnectionManager$HConnectionImplementation:getMaster尝试10次中的9次失败;不再重试。
java.net.ConnectException:连接被拒绝
在sun.nio.ch.socketchannel.checkConnect(本机方法)
位于sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:574)
位于org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206)
位于org.apache.hadoop.net.NetUtils.connect(NetUtils.java:408)
位于org.apache.hadoop.hbase.ipc.HBaseClient$Connection.setupIOstreams(HBaseClient.java:328)
位于org.apache.hadoop.hbase.ipc.HBaseClient.getConnection(HBaseClient.java:883)
位于org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:750)
位于org.apache.hadoop.hbase.ipc.HBaseRPC$Invoker.invoke(HBaseRPC.java:257)
位于$Proxy4.getProtocolVersion(未知源)
位于org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:419)
位于org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:393)
位于org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:444)
位于org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getMaster(HConnectionManager.java:360)
位于org.apache.hadoop.hbase.client.HBaseAdmin.(HBaseAdmin.java:94)
位于org.apache.hadoop.hbase.thrift.ThriftServer$HBaseHandler.(ThriftServer.java:194)
位于org.apache.hadoop.hbase.thrift.ThriftServer$HBaseHandler.(ThriftServer.java:188)
位于org.apache.hadoop.hbase.thrift.ThriftServer.doMain(ThriftServer.java:870)
位于org.apache.hadoop.hbase.thrift.ThriftServer.main(ThriftServer.java:927)
线程“main”org.apache.hadoop.hbase.MasterNotRunningException:master:60000中出现异常
位于org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getMaster(HConnectionManager.java:396)
位于org.apache.hadoop.hbase.client.HBaseAdmin.(HBaseAdmin.java:94)
位于org.apache.hadoop.hbase.thrift.ThriftServer$HBaseHandler.(ThriftServer.java:194)
位于org.apache.hadoop.hbase.thrift.ThriftServer$HBaseHandler.(ThriftServer.java:188)
位于org.apache.hadoop.hbase.thrift.ThriftServer.doMain(ThriftServer.java:870)
位于org.apache.hadoop.hbase.thrift.ThriftServer.main(ThriftServer.java:927)

可能在hbase主机上存在防火墙问题,或者它绑定到了错误的网络接口?
确保情况并非如此?我会在安装thrift的同一台机器上尝试netcat nc、telnet或类似的东西,看看它们是否可以连接到此主机/端口

在我尝试启动thrift的同一节点上运行的regionserver可以毫无问题地连接到hmaster,并且我能够ping,因此存在连接。奇怪。最后,我会在thriftserver机器上启动数据包捕获,然后启动thriftserver(参见wireshark,tshark)。这将准确地告诉您发生了什么导致连接被拒绝错误。