この記事について
こちらのドキュメントおよび配下のドキュメントを理解のために翻訳します。
翻訳
HDFS の Balancer は HDFS クラスタのストレージデバイスにわたるデータのバランスをとります。
特定の DataNode のスペースをあけるために、ソースとなる DataNode を特定することもできます。ブロック配置アプリケーションを使って、ブロックのレプリカを特定の DataNode にピン止めし、バランシングの間にそのブロックが動かないようにすることもできます。
なぜHDFSのデータはアンバランスになるのか
DataNodeの追加、HDFSでのブロックの配置、クライアントアプリケーションの振る舞いなどが、HDFSクラスタに保存されたデータのアンバランスさにつながることがあります。
HDSF Balancer の設定と CLI のオプション
HDFS Balancer は、さまざまな設定オプションを変更したり、コマンドラインで設定することができます。
Cloudera Manager で HDFS Balancer を設定・実行する(翻訳準備中)
Cloudera Manager を使って HDFS Balancer を実行する方法を学びましょう。バランサーの閾値を設定したり、同時の移動数やブロックサイズなどを設定することができます。そして、HDFS Balancer を実行します。HDFS Balancer の推奨値についても学べます。
クラスタのバランシングのアルゴリズム
HDFS Balancer は繰り返し実行されます。それぞれの繰り返し(イテレーション)は、以下の4つのステップから成ります。
- ストレージのグループを分類する
- ストレージのグループをペアリングする
- ブロック移動をスケジュールする
- ブロック移動を実行する
HDFS Balancer の 終了コード
HDFS Balancer はバランシングの処理完了時に終了コードを出力します。この終了コードは、処理が成功したか失敗したか、失敗した場合は理由を示します。