2013-08-22 54 views
0

爲到HBase的連接到HBase的我寫這樣的代碼:無法連接,因爲動物園管理員

Class.forName("com.salesforce.phoenix.jdbc.PhoenixDriver"); 
      conn = DriverManager.getConnection("jdbc:phoenix:localhost:2181"); 

但運行給我這個錯誤後:

13/08/22 09:14:14 INFO zookeeper.ZooKeeper: 
Client environment:zookeeper.version=3.4.5-1392090, built on 09/30/2012 17:52 GMT 
13/08/22 09:14:14 INFO zookeeper.ZooKeeper: Client environment:host.name=ubuntu 
13/08/22 09:14:14 INFO zookeeper.ZooKeeper: Client environment:java.version=1.7.0_25 
13/08/22 09:14:14 INFO zookeeper.ZooKeeper: Client environment: 
java.vendor=Oracle Corporation 
13/08/22 09:14:14 INFO zookeeper.ZooKeeper: Client environment: 
java.home=/usr/local/jdk1.7.0_25/jre 
13/08/22 09:14:14 INFO zookeeper.ZooKeeper: 
Client environment:java.class.path=/home/ubuntu/Phonix/phoenix-2.0.0-client.jar: 
/home/ubuntu/Downloads/hbql-0.90.0.1/hbql-0.90.0.1-src.jar:/home/ubuntu/Downloads/ 
hbql-0.90.0.1/hbql-0.90.0.1.jar:/home/ubuntu/Downloads/protobuf-java-2.4.1.jar: 
/home/ubuntu/NetBeansProjects/hbase-phoenix/build/classes 
13/08/22 09:14:14 INFO zookeeper.ZooKeeper: Client environment:java.library.path= 
/usr/local/jdk1.7.0_25/jre/lib/amd64:/usr/local/jdk1.7.0_25/jre/lib/i386: 
/usr/java/packages/lib/i386:/lib:/usr/lib 
13/08/22 09:14:14 INFO zookeeper.ZooKeeper: Client environment:java.io.tmpdir=/tmp 
13/08/22 09:14:14 INFO zookeeper.ZooKeeper: Client environment:java.compiler=<NA> 
13/08/22 09:14:14 INFO zookeeper.ZooKeeper: Client environment:os.name=Linux 
13/08/22 09:14:14 INFO zookeeper.ZooKeeper: Client environment:os.arch=i386 
13/08/22 09:14:14 INFO zookeeper.ZooKeeper: Client environment:os.version= 
3.2.0-23-generic-pae 
13/08/22 09:14:14 INFO zookeeper.ZooKeeper: Client environment:user.name=ubuntu 
13/08/22 09:14:14 INFO zookeeper.ZooKeeper: Client environment:user.home=/home/ubuntu 
13/08/22 09:14:14 INFO zookeeper.ZooKeeper: Client environment:user.dir= 
/home/ubuntu/NetBeansProjects/hbase-phoenix 
13/08/22 09:14:14 INFO zookeeper.ZooKeeper: Initiating client connection, 
connectString=localhost:2181 sessionTimeout=180000 watcher=hconnection 
13/08/22 09:14:14 INFO zookeeper.RecoverableZooKeeper: 
The identifier of this process is [email protected] 
13/08/22 09:14:14 INFO zookeeper.ClientCnxn: Opening socket connection to server 
localhost/127.0.0.1:2181. Will not attempt to authenticate using SASL (unknown error) 
13/08/22 09:14:14 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:708) 
at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport 
    (ClientCnxnSocketNIO.java:350) 
at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1068) 
13/08/22 09:14:15 WARN zookeeper.RecoverableZooKeeper: 
Possibly transient 
ZooKeeper exception:org.apache.zookeeper.KeeperException$ConnectionLossException: 
KeeperErrorCode = 
ConnectionLoss for /hbase/hbaseid 
13/08/22 09:14:15 INFO util.RetryCounter: Sleeping 2000ms before retry #1... 

我不明白是什麼問題。 我單獨安裝hbase 0.94.10和zookeeper 3.4.5,我不確定配置是否正確。您可以引導並幫助我如何正確配置它們

回答

0

您確定要複製鳳凰服務器jar(它的名爲only phoenix -.jar,我認爲它應該是phoenix-2.0.0.jar在你的情況下)到所有的區域服務器? 還要確保phoenix jar的位置被附加到HBase類路徑。你需要把下面也許在所有區域服務器的hbase-env.sh:

HBASE_CLASSPATH=$HBASE_CLASSPATH:/path/to/phoenix-2.0.0.jar 

之後,您需要重新啓動集羣。然後鳳凰會工作。 您也可以閱讀其安裝指南github project page。 更新: 我剛纔看到他們更新了他們的文檔。文檔THW的最後一個版本更straigh進,但我想你會管理...

0

添加答案的人仍在尋找:

你的JDBC連接字符串必須是這樣的:

jdbc:phoenix:zookeeper_quorum:2181:/ hbase_znode ;

的jdbc:鳳:zookeeper_quorum:/ hbase_znode

(默認情況下,飼養員會偵聽端口2181

zookeeper_quorum - 可以是逗號分隔的服務器名稱(必須是完全合格的DNS名稱) hbase_znode - hbase或hbase-unsecured

eg

JDBC:鳳:server1.abc.com,server2.abc.com:2181:/ HBase的

相關問題