0

クラスター環境にログインすると、zookeeper で以下のエラーを受け取りました。hbase に付属するデフォルトの Zookeeper を使用しています。

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 HBase Configuration as often as you can. See HTable's javadoc for
more information.
4

3 に答える 3

1

私にはファイルハンドルの問題のようです。HBase は同時に多くのファイルを使用します。ほとんどの *nix システムでは、デフォルトの ulimit -n (つまり、ユーザー ファイルの制限) である 1024 では不十分です。ファイル ハンドルの最大数をより高い値 (10,000 以上など) に増やすと、役立つ場合があります。HBase プロセスを実行しているユーザーのファイル ハンドルを増やすことは、オペレーティング システムの構成であり、HBase の構成ではないことに注意してください。

Ubuntu を使用している場合は、次の変更を行う必要があります。

ファイル /etc/security/limits.conf に次の行を追加します

hadoop  -       nofile  32768

hadoop を、Hadoop と HBase を実行しているユーザーに置き換えます。別々のユーザーがいる場合は、ユーザーごとに 1 つずつ、合計 2 つのエントリが必要になります。同じファイルで、nproc のハード制限とソフト制限を設定します。例えば:

hadoop soft/hard nproc 32000

ファイル /etc/pam.d/common-session で、ファイルの最後の行として次を追加します。

session required  pam_limits.so

そうしないと、/etc/security/limits.conf の変更が適用されません。

変更を有効にするために、ログアウトして再度ログインすることを忘れないでください。

参考: http: //hbase.apache.org/book.html#basic.prerequisites

HTH

于 2013-05-30T09:55:11.210 に答える
0

hbase.regionserver.handler.count を見ることもできます

http://hbase.apache.org/configuration.html#recommended_configurations

于 2013-06-19T08:06:08.093 に答える
0

多くの理由が考えられます。

  1. 私は、まずこれを試してみてください。
  2. /etc/hosts ファイルが正しく設定されているかどうかを確認します
  3. hbase 構成を確認してください。Zookeeper 自体を管理するように hbase-env.sh を構成しましたか? hbase-site.xml で Zookeeper クォーラムを構成しましたか?
  4. クラスタ全体の Hadoop conf ディレクトリ (実際にはクラスパス上) に Zoo.cfg をコピーしてみてください。(ソース
  5. それでもうまくいかない場合は、コードを調べて、複数の HBaseConfiguration オブジェクトを作成しているかどうかを確認してください。ここで述べたように、これに対するアプローチは、単一の HBaseConfiguration オブジェクトを作成し、それをすべてのコードで再利用することです。
于 2013-05-30T07:54:27.457 に答える