Map reduce を使用してデータを HBase に書き込みます。フォーマットを行う必要があるため、TableReducer を拡張して独自のレデューサーを実装しました。このカスタム レデューサーは、運用環境と開発環境で動作が異なります。次のエラーを取得する
エラー: org.apache.hadoop.hbase.client.RetriesExhaustedWithDetailsException: 659 のアクションに失敗しました: RegionTooBusyException: 659 回、
ここから、フラッシングがきちんとされていないことがわかりました。ただし、同じことが開発環境で正常に機能しています。
上記のオプションに加えて、リデューサーの数を構成することも、リージョンサーバーに送信されるデータの量に影響を与える可能性があると思います.
リージョン サーバー間で行キーをスパンするためにソルトを使用しています。現在、salt は 20m で、リージョン サーバーの数は 60 です。レコードを均等にスパンするには、salt をリージョン サーバーの数と同じに選択する必要がありますか? そうでない場合、データを Hbase にロードする際に、リデューサーの数の最適な値を特定する方法。
また、一般に、Hbase と対話するためにクライアント側で許可される接続の最大数はいくつですか。ここでは、API 提供の Map reducer を使用していますが、一般に、Hbase へのクライアント接続を処理します。クライアント接続の最大数が重要な役割を果たす可能性があります。助けてくれてありがとう