2012-10-24 35 views
4

我想按照HBql網站(http://www.hbql.com/installation.html)上描述的步驟簡單使用HBase.I來測試HBQL。在結束鍵入HBql控制檯版本命令來驗證我安裝的時候,我得到了以下信息:使用HBql控制檯時使用HBql Zookeeper不會嘗試使用SASL進行身份驗證

[main] INFO org.apache.zookeeper.ZooKeeper - Client environment:zookeeper.version=3.4.4-1386507, built on 09/17/2012 08:33 GMT 
[main] INFO org.apache.zookeeper.ZooKeeper - Client environment:host.name=aleebi 
[main] INFO org.apache.zookeeper.ZooKeeper - Client environment:java.version=1.6.0_18 
[main] INFO org.apache.zookeeper.ZooKeeper - Client environment:java.vendor=Sun Microsystems Inc. 
[main] INFO org.apache.zookeeper.ZooKeeper - Client environment:java.home=/usr/lib/jvm/java-6-openjdk/jre 
[main] INFO org.apache.zookeeper.ZooKeeper - Client environment:java.class.path=:/usr/local/hbase-0.94.2/hbase-0.94.2.jar:/usr/local/hadoop-1.0.4/hadoop-core-1.0.4.jar:/usr/local/hadoop-1.0.4/contrib/index/hadoop-index-1.0.4.jar:/usr/local/hbql-0.90.0.1/hbql-0.90.0.1.jar:/usr/local/hbase-transactional-tableindexed/org/apache/hbase-trx-0.90.0RC3.jar:/usr/local/hbql-0.90.0.1/lib/antlr-runtime-3.1.3.jar:/usr/local/hbql-0.90.0.1/lib/jline-0.9.94.jar:/usr/local/commons-logging-1.1.1/commons-logging-1.1.1.jar:/usr/local/hbase-0.94.2/lib:/usr/local/hadoop-1.0.4/lib:/usr/local/commons-configuration-1.9/commons-configuration-1.9.jar:/usr/local/commons-configuration-1.9/apache-commons-lang.jar:/usr/local/zookeeper-3.4.4/zookeeper-3.4.4.jar:/usr/local/slf4j-1.7.2/slf4j-api-1.7.2.jar:/usr/local/slf4j-1.7.2/slf4j-simple-1.7.2.jar::/usr/local/hbql-0.90.0.1/lib/jline-0.9.94.jar:/usr/local/hbql-0.90.0.1/lib/antlr-runtime-3.1.3.jar:/usr/local/hbql-0.90.0.1/hbql-0.90.0.1 
[main] INFO org.apache.zookeeper.ZooKeeper - Client environment:java.library.path=/usr/lib/jvm/java-6-openjdk/jre/lib/amd64/server:/usr/lib/jvm/java-6-openjdk/jre/lib/amd64:/usr/lib/jvm/java-6-openjdk/jre/../lib/amd64:/usr/java/packages/lib/amd64:/usr/lib/jni:/lib:/usr/lib 
[main] INFO org.apache.zookeeper.ZooKeeper - Client environment:java.io.tmpdir=/tmp 
[main] INFO org.apache.zookeeper.ZooKeeper - Client environment:java.compiler=<NA> 
[main] INFO org.apache.zookeeper.ZooKeeper - Client environment:os.name=Linux 
[main] INFO org.apache.zookeeper.ZooKeeper - Client environment:os.arch=amd64 
[main] INFO org.apache.zookeeper.ZooKeeper - Client environment:os.version=2.6.32-5-amd64 
[main] INFO org.apache.zookeeper.ZooKeeper - Client environment:user.name=aleebi 
[main] INFO org.apache.zookeeper.ZooKeeper - Client environment:user.home=/home/aleebi 
[main] INFO org.apache.zookeeper.ZooKeeper - Client environment:user.dir=/usr/local/hbql-0.90.0.1 
[main] INFO org.apache.zookeeper.ZooKeeper - Initiating client connection, connectString=localhost:2181 sessionTimeout=180000 watcher=hconnection 
[main-SendThread(localhost:2181)] INFO org.apache.zookeeper.ClientCnxn - Opening socket connection to server localhost/127.0.0.1:2181. Will not attempt to authenticate using SASL (unknown error) 
[main-SendThread(localhost:2181)] WARN org.apache.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:592) 
    at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:348) 
    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1068) 
24.10.2012 12:57:55 org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper <init> 
INFO: The identifier of this process is [email protected] 
24.10.2012 12:57:55 org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper retryOrThrow 
WARNUNG: Possibly transient ZooKeeper exception: org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase/master 
24.10.2012 12:57:55 org.apache.hadoop.hbase.util.RetryCounter sleepUntilNextRetry 

這些消息只打印。 HBase在分佈式模式下成功運行,將數據存儲在Debian中的HDFS上。您需要更多信息嗎?我做了什麼錯誤?爲什麼在這裏需要SASL,並且在一般情況下,像HBase外殼一樣?

也許一些重要的配置:

hbase-env.sh

hbase_manage_zk=true 

HBase的-site.xml中

<property> 
     <name>hbase.zookeeper.property.clientPort</name> 
     <value>2222</value> 
    </property> 
    <property> 
     <name>hbase.zookeeper.quorum</name> 
     <value>master</value> 
    </property> 
    <property> 
     <name>hbase.zookeeper.property.dataDir</name> 
     <value>/usr/local/zookeeper</value> 
    </property> 

謝謝!

回答

2

我最近用Nutch和Solr安裝了HBase,並且有類似的問題。我不確定是否完全一樣,但不幸的是我沒有更多的日誌,但它肯定與連接有關。

原來的動物園管理員默認的連接限制太低,在hbase-site.xml增加該值解決了這個問題對我來說:

<property> 
    <name>hbase.zookeeper.property.maxClientCnxns</name> 
    <value>1000</value> 
</property> 
0

我有同樣的問題。這個答案假定您工作在Linux和編輯您的etc/hosts文件相應(https://stackoverflow.com/a/13540883/1607022

的動物園管理員客戶端的端口號必須在HBase的,並不管你在它上面使用的配置文件相同。 解決方案是; (在我的情況HBASE 0.90.4與GORA 0.3)檢查您的HBase-default.xml中的HBASE_HOME/src目錄下/主/資源:

<name>hbase.zookeeper.property.clientPort</name> 
<value>2181</value> 

而且應該HBql下是HBase的-site.xml中:

<property> 
<name>hbase.zookeeper.property.clientPort</name> 
<value>2181</value> 
<description>Property from ZooKeeper's config zoo.cfg. 
The port at which the clients will connect. 
</description> 
</property> 

端口號應該相同。