1

しばらくの間 HBase と通信しなかったときに、この例外が発生します。

org.apache.hadoop.hbase.client.NoServerForRegionException: ルート領域を見つけようとしてタイムアウトしました: 接続が拒否されました

これはセッションの有効期限に関連するものですか?もしそうなら、どうすればセッションの有効期間を延長できますか?

4

4 に答える 4

0

ここでは、いくつかの要因が役割を果たしています。

クライアントから Hbase に接続しようとすると発生する以下の手順に注意してください。

  1. Hbase は Zookeeper に接続して、ROOT テーブルをホストするリージョンサーバーの IP を取得します。
  2. クライアントは IP に関するこの情報をキャッシュするため、飼育係に再度連絡する必要はありません。

あなたの問題は、クライアントが飼育係に接続して IP を取得しようとしていることです。以下のいずれかが間違っている可能性があります。

  1. クライアントが飼育係に接続できません。
  2. ZooKeeper の Znode 内に含まれる ROOT に関する情報が間違っています。

可能な修正。

  1. Zookeeper が正常に動作しているかどうかを確認します。

  2. Zookeeper で Hbase の Znode を削除し、クラスターを再起動します。これでデータが削除されることはありません。

これが達成されたら?クライアントは ROOT 情報を取得し、問題なく META テーブルをクエリできます。

于 2015-11-09T07:08:17.217 に答える
0

これはセッションの有効期間とは何の関係もないと思います。

クラスターをチェックして、クラスターが稼働していて正しく機能していること、およびすべてのリージョン サーバーが動作していることを確認します。次に、ログをチェックして、エラー状態が報告されていないことを確認します。

HBase は複雑なソフトウェアです。詳細な情報がなければ、何が起こっているのかを診断するのは非常に困難です。多くの場合、より詳細な情報を収集することで問題を発見できます。

于 2011-01-18T16:20:29.293 に答える