4

HBaseの簡単な使用法についてHBqlをテストしたかったのですが、HBql Webサイト(http://www.hbql.com/installation.html)に記載されている手順に従いました。最後に、HBql-consoleでversion-commandを入力してインストールを確認すると、次のメッセージが表示されます。

[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 4698@aleebi
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   

これらのメッセージは、HBqlコンソールを使用している場合にのみ出力されました。HBaseは分散モードで正常に動作し、Debian squeezeの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>

ありがとう!

4

2 に答える 2

2

最近、Nutch と Solr を使用して HBase をインストールしましたが、同様の問題がありました。まったく同じかどうかはわかりませんが、残念ながらログはもうありませんが、間違いなく接続に関連していました.

ZooKeeper のデフォルトの接続制限が低すぎることが判明し、この値を増やすことでhbase-site.xml解決しました。

<property>
    <name>hbase.zookeeper.property.maxClientCnxns</name>
    <value>1000</value>
</property>
于 2012-10-31T16:43:25.433 に答える
0

私も同じ問題を抱えていました。この回答は、Linux で作業し、それに応じて etc/hosts ファイルを編集したことを前提としています ( https://stackoverflow.com/a/13540883/1607022 )

Zookeeper のクライアント ポート番号は、HBase の構成ファイルとその上で使用するものと同じでなければなりません。解決策は次のとおりです。(私の場合、GORA 0.3 を使用した HBASE 0.90.4) HBASE_HOME/src/main/resources の下にある hbase-default.xml を確認します。

<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>

ポート番号は同じである必要があります。

于 2013-07-23T12:15:04.090 に答える