2012-04-17 69 views
13

HBaseおよびHadoopに初めてアクセスしました。私はHBaseを完全にセットアップして完全に起動しました。今では、Javaクライアントを使用してp1からHBase(HBaseの設定はp2)に接続しようとしましたが、奇妙な例外が発生しています。hbase接続が拒否されました

12/04/17 14:36:37 INFO zookeeper.ZooKeeper: Initiating client connection, connectString=192.168.15.20:2181 sessionTimeout=180000 watcher=hconnection 
12/04/17 14:36:38 INFO zookeeper.ClientCnxn: Opening socket connection to server /192.168.15.20:2181 
12/04/17 14:36:38 WARN zookeeper.ClientCnxn: Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
java.net.ConnectException: Connection refused 
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) 
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567) 
    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1119) 
12/04/17 14:36:39 INFO zookeeper.ClientCnxn: Opening socket connection to server hbase.local/192.168.15.20:2181 
12/04/17 14:36:39 WARN zookeeper.ClientCnxn: Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
java.net.ConnectException: Connection refused 
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) 
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567) 
    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1119) 
12/04/17 14:36:41 INFO zookeeper.ClientCnxn: Opening socket connection to server hbase.local/192.168.15.20:2181 
12/04/17 14:36:41 WARN zookeeper.ClientCnxn: Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
java.net.ConnectException: Connection refused 
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) 
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567) 
    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1119) 
12/04/17 14:36:43 INFO zookeeper.ClientCnxn: Opening socket connection to server hbase.local/192.168.15.20:2181 
12/04/17 14:36:43 WARN zookeeper.ClientCnxn: Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
java.net.ConnectException: Connection refused 
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) 
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567) 
    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1119) 
12/04/17 14:36:44 INFO zookeeper.ClientCnxn: Opening socket connection to server hbase.local/192.168.15.20:2181 
12/04/17 14:36:44 WARN zookeeper.ClientCnxn: Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
java.net.ConnectException: Connection refused 
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) 
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567) 
    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1119) 
12/04/17 14:36:45 INFO zookeeper.ClientCnxn: Opening socket connection to server hbase.local/192.168.15.20:2181 
12/04/17 14:36:45 WARN zookeeper.ClientCnxn: Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
java.net.ConnectException: Connection refused 
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) 
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567) 
    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1119) 
12/04/17 14:36:47 INFO zookeeper.ClientCnxn: Opening socket connection to server hbase.local/192.168.15.20:2181 
12/04/17 14:36:47 WARN zookeeper.ClientCnxn: Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
java.net.ConnectException: Connection refused 
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) 
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567) 
    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1119) 
12/04/17 14:36:48 INFO zookeeper.ClientCnxn: Opening socket connection to server hbase.local/192.168.15.20:2181 
12/04/17 14:36:48 WARN zookeeper.ClientCnxn: Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
java.net.ConnectException: Connection refused 
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) 
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567) 
    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1119) 
12/04/17 14:36:49 INFO zookeeper.ClientCnxn: Opening socket connection to server hbase.local/192.168.15.20:2181 
12/04/17 14:36:49 INFO zookeeper.ZooKeeper: Session: 0x0 closed 
org.apache.hadoop.hbase.ZooKeeperConnectionException: HBase is able to connect to ZooKeeper but the connection closes immediately. This could be a sign that the server has too many connections (30 is the default). Consider inspecting your ZK server logs for that error and then make sure you are reusing HBaseConfiguration as often as you can. See HTable's javadoc for more information. 
    at org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher.<init>(ZooKeeperWatcher.java:155) 
    at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getZooKeeperWatcher(HConnectionManager.java:1002) 
    at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.setupZookeeperTrackers(HConnectionManager.java:304) 
    at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.<init>(HConnectionManager.java:295) 
    at org.apache.hadoop.hbase.client.HConnectionManager.getConnection(HConnectionManager.java:157) 
    at org.apache.hadoop.hbase.client.HBaseAdmin.<init>(HBaseAdmin.java:90) 
    at org.apache.hadoop.hbase.client.HBaseAdmin.checkHBaseAvailable(HBaseAdmin.java:1258) 
    at HBaseDemo.main(HBaseDemo.java:55) 
Caused by: org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase 
    at org.apache.zookeeper.KeeperException.create(KeeperException.java:90) 
    at org.apache.zookeeper.KeeperException.create(KeeperException.java:42) 
    at org.apache.zookeeper.ZooKeeper.exists(ZooKeeper.java:809) 
    at org.apache.zookeeper.ZooKeeper.exists(ZooKeeper.java:837) 
    at org.apache.hadoop.hbase.zookeeper.ZKUtil.createAndFailSilent(ZKUtil.java:903) 
    at org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher.<init>(ZooKeeperWatcher.java:133) 
    ... 7 more 
12/04/17 14:36:49 INFO zookeeper.ClientCnxn: EventThread shut down 
Execution script exiting 

/04/17 17:41:35 INFO zookeeper.ZooKeeper: Client environment:user.name=xyz 
12/04/17 17:41:35 INFO zookeeper.ZooKeeper: Client environment:user.home=/home/xyz 
12/04/17 17:41:35 INFO zookeeper.ZooKeeper: Client environment:user.dir=/opt/xyz/hbase-sample 
12/04/17 17:41:35 INFO zookeeper.ZooKeeper: Initiating client connection, connectString=192.168.15.169:2181 sessionTimeout=180000 watcher=hconnection 
12/04/17 17:41:35 INFO zookeeper.ClientCnxn: Opening socket connection to server /192.168.15.169:2181 
12/04/17 17:41:35 INFO zookeeper.ClientCnxn: Socket connection established to hbase.xyz.com/192.168.15.169:2181, initiating session 
12/04/17 17:41:35 INFO zookeeper.ClientCnxn: Session establishment complete on server hbase.xyz.com/192.168.15.169:2181, sessionid = 0x136c00d59ac0009, negotiated timeout = 180000 
12/04/17 17:41:36 INFO client.HConnectionManager$HConnectionImplementation: getMaster attempt 0 of 1 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:567) 
at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206) 
at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:604) 
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.client.HBaseAdmin.checkHBaseAvailable(HBaseAdmin.java:1258) 
at HBaseDemo.main(HBaseDemo.java:55) 
HBase is not running! 
Execution script exiting 
+2

私は一般的に、少ない情報ではなく、より多くの情報を好みますが、このエラーステートメントをわずかに少なく印刷できたかどうかは疑問です。それは多くを繰り返し、何よりもWALLOFTEXTのように見えます。おそらくそれは重要ではない。 – theJollySin

+0

返信ありがとうreply.Now私は完全な出力を投稿してください – khan

答えて

5

私は解決策を発見しました。

ローカルホストのエントリを私の/etc/hostsから削除するだけです。今私のローカルホストのエントリは、012.01.1.1 localhostではなく、192.169.19.50 [私のhbase IP] = localhostのようなものです。

+0

khan - 私はhbase、hadoop、nutchを疑似モードで同じサーバ上で実行しているときにこのエラーが出ます。/etc/hostsファイルを編集する必要はありますか? – sunskin

+4

少し疑わしい解決策。おそらく、hbase.zookeeper.quorumプロパティをクライアント側またはサーバー側のどちらかで修正するほうがよいでしょう。 – user1455836

+0

@ user1455836の提案、そしてDNSキャッシュのフラッシュと再起動(純粋な迷信?)が私のために働いた。私のMacでは、 '/ usr/local/Cellar/hbase/1.0.1/libexec/conf/hbase-site.xml'に ' .local'という値を持つ' hbase.zookeeper.quorum'のエントリを追加しました。動物園の飼い主は、今もその祝福、栄光と使いやすさのすべてで生きています。 –

4

ここで受け入れられている回答は機能するかもしれませんが、副作用としてのみです。

問題は、HBaseが、外部に向いているインターフェイスではなく、ローカルホストでリッスンしているポートを開く(ループバックしている)ことです。/etc/hostsのlocalhostエントリを削除すると、HBaseは外部インターフェイスにバインドされますが、localhostが見つからないためです。これは、あるデーモンがローカルホスト(lo経由でのみ)を正当に受信または接続しようとするときに問題になる可能性があります。

この問題があることをテストするには、telnetを使用してlocalhostまたはマシンに割り当てられたIP経由でポート60000に接続します。ローカルホスト(HBaseがバインドされているため)で接続でき、IPでは接続できない可能性があります。

HBase confでマシン名を使用する方がよいでしょう。

+0

ときにプロパティを設定するためにクラスタを構成する "hbase.master" HBaseの-site.xmlの中、あなたのホスト名またはIP、例と: 'コード hbase.master 192.168.1.111:16000 ' – lourencoccc

3

HBaseの設定をインスタンス化したと仮定すると、hbase master、zookeeperクォーラム、およびznodeの親を設定します。このようなもの -

import org.apache.hadoop.hbase.HBaseConfiguration; 

public class CLASS_NAME{ 
    Configuration configuration = new HBaseConfiguration.Create(); 
    configuration.set(hbase master, ""); 
    configuration.set(zookeeper quorum, ""); 
    configuration.set(znode parent, ""); 
} 
関連する問題