我已經在僞分佈模式下設置了hadoop和hbase的單個節點,當然zookeeper和regionserver也被安裝。HBase Java客戶端:getMaster連接被拒絕
一切都很順利,但是當它通過Java客戶端API連接到hbase時,我收到一個異常。
我試了幾個小時解決這個問題,但我無法。 我可以telnet到remotemachine:60000,所以它不是端口防火牆問題。 日誌也不報告任何特別的東西。
06年12月5日19點47分27秒INFO zookeeper.ClientCnxn(從日誌debianhdfs記在HOSTFILE設置正確的IP):開放套接字連接 服務器debianhdfs/192.168 .137.135:2181 12/05/06 19:47:27信息 zookeeper.ClientCnxn:套接字連接建立到 debianhdfs/192.168.137.135:2181,啓動會話12/05/06 19:47:27 INFO zookeeper.ClientCnxn :服務器上的會話建立完成 debianhdfs/192.168.137.135:2181,sessionid = 0x13721c707ff002f, negotiated timeout = 40000 12/05/06 19: 47:28信息 client.HConnectionManager $ HConnectionImplementation:getMaster嘗試 0 of 1失敗;沒有更多的重試。 java.net.ConnectException:連接 拒絕:無更多信息 sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) sun.nio.ch.SocketChannelImpl.finishConnect(Unknown Source)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.call(HBaseClient.java:org.apache.hadoop.hbase.ipc.HBaseClient.getConnection(HBaseClient.java:883) ) 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 :567) 在 org.apache.hadoop.hbase.client.HBaseAdmin(HBaseAdmin.java:95) 在 org.apache.hadoop.hbase.client.HBaseAdmin.checkHBaseAvailable(HBaseAdmin.java:1296) 在。 Main.main(Main.java:57)線程「main」中的異常 org.apache.hadoop.hbase.MasterNotRunningException:debianhdfs:6 0000 在 org.apache.hadoop.hbase.client.HConnectionManager $ HConnectionImplementation.getMaster(HConnectionManager.java:603) 在 org.apache.hadoop.hbase.client.HBaseAdmin。(HBaseAdmin.java:95) 在在Main.main(Main。)上使用org.apache.hadoop.hbase.client.HBaseAdmin.checkHBaseAvailable(HBaseAdmin.java:1296) ( )。Java的:57)
在獨立模式下,非僞分佈式我得到了相同的代碼以下異常:
06年12月5日20時32分49秒INFO zookeeper.ClientCnxn:打開插座連接 到服務器debianhdfs/192.168.137.135:2181 12/05/06 20:32:49信息 zookeeper.ClientCnxn:套接字連接建立到 debianhdfs/192.168.137.135:2181,啓動會話12/05/06 20:32 :49 INFO zookeeper.ClientCnxn:服務器上的會話建立完成 debianhdfs/192.168.137.135:2181,sessionid = 0x1 372210f8fe0004, negotiated timeout = 40000 12/05/06 20:32:49信息 client.HConnectionManager $ HConnectionImplementation:ZooKeeper 可用但未找到活動的主位置12/05/06 20:32:49信息 client.HConnectionManager $ HConnectionImplementation:getMaster嘗試 0 of 1失敗;沒有更多的重試。 org.apache.hadoop.hbase.MasterNotRunningException在 org.apache.hadoop.hbase.client.HConnectionManager $ HConnectionImplementation.getMaster(HConnectionManager.java:564) 在 org.apache.hadoop.hbase.client.HBaseAdmin。( HBaseAdmin.java:95) 在 org.apache.hadoop.hbase.client.HBaseAdmin.checkHBaseAvailable(HBaseAdmin.java:1296) 在線程 「主要」 組織Main.main(Main.java:57)異常。 apache.hadoop.hbase.MasterNotRunningException org.apache.hadoop.hbase.client.HConnectionManager $ HConnectionImplementation.getMaster(HConnectionManager.java:601) at org.apache.hadoop.hbase.client.HBaseAdmin。(HBaseAdmin.java :95) 在 org.apache.hadoop.hbase.client.HBaseAdmin.checkHBaseAvailable(HBaseAdmin.java:1296) 在Main.main(Main.java:57)
Configuration config = HBaseConfiguration.create();
config.set("hbase.zookeeper.quorum", "debianhdfs");
config.set("hbase.zookeeper.property.clientPort","2181");
HBaseAdmin.checkHBaseAvailable(config);