2

HBase を組み込みとして起動すると、完全に機能します。

私はUbuntu 12.04を使用しており、tar.gzをダウンロードしてoptディレクトリで解凍することにより、hbase 0.90.5をインストールしました。

HBase は正しく起動され、ログにはクラッシュも例外も記録されていないため、HBase は正しくインストールされているようです。hbase-site.xml は次のように単純です。

<configuration>
<property>
    <name>hbase.zookeeper.quorum</name>
    <value>localhost</value>
</property>

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

次に、私の etc/hosts ファイルはさらに単純です。

127.0.0.1 localhost

127.0.0.1 alex-desktop

このファイルからホスト名を削除することについて読んだことがありますが、これを行うと hbase の起動中にエラーが発生するだけであることに注意してください。そこで、ここに示すように出発することにしました。

そして最後に私のJavaコード:

Configuration config = HBaseConfiguration.create();
    config.clear();
    config.set("hbase.zookeeper.quorum", "localhost");
    config.set("hbase.zookeeper.property.clientPort","2181");
    config.set("hbase.master", "localhost:60000");

ログに例外が表示されます:

2/10/25 21:41:59 INFO zookeeper.ClientCnxn: Session establishment complete on server localhost/127.0.0.1:2181, sessionid = 0x13a996f3e1d000b, negotiated timeout = 40000

12/10/25 21:41:59 INFO client.HConnectionManager$HConnectionImplementation: getMaster attempt 0 of 1 failed; no more retrying.
java.io.IOException: Call to localhost/127.0.0.1:60001 failed on local exception: java.io.EOFException at org.apache.hadoop.hbase.ipc.HBaseClient.wrapException(HBaseClient.java:954)
at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:923)
at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Invoker.invoke(WritableRpcEngine.java:150)
at $Proxy6.getProtocolVersion(Unknown Source)
at org.apache.hadoop.hbase.ipc.WritableRpcEngine.getProxy(WritableRpcEngine.java:183)

ポート 60001 が変更されることに注意してください。このポートである場合もありますが、46666 などの他のポートである場合もあります。

また、エクスポートをエクスポートしようとしHBASE_MANAGES_ZK=trueましたが、役に立ちません。このランダムなポートが何であるかがわからないため、次に何ができるかわかりません。

誰が何が起こっているのか知っていますか?

事前にどうもありがとうございました。

4

1 に答える 1

1

sameクラスターと同じように、クライアント コードで HBase バージョンを使用していることを確認してください。通常、バージョンの不一致の場合にEOFException発生します。

于 2012-11-01T22:59:25.193 に答える