レプリケーションファクタを3から1に減らしましたが、過度に複製されたHDFSファイルブロックを削除するためのネームノードまたはデータノード間のアクティビティはありません。レプリケーションジョブを監視または強制する方法はありますか?HDFS削減レプリケーションファクタ
8
A
答えて
18
変更するdfs.replication
は、作成した新しいファイルにのみ適用されますが、既存のファイルの複製係数は変更されません。あなたはの言うようにする3から、デフォルトの複製因子を変更すると
hadoop dfs -setrep -w 1 -R/
-7
多分ファイルブロックを削除するマップ関数を書くことができます!
4
:
すでに存在するファイルの複製ファクタを変更するには、HDFS内のすべてのファイルに再帰的に実行される次のコマンドを実行することができClouderaのManagerから2
Cloudera Manager(CDH 5.0.2) -> HDFS -> Configuration -> View and Edit -> Service-Wide -> Replication -> Replication Factor (dfs.replication) -> 2
、各ブロックの2つのレプリカを持って書かれた新しいデータのみ。あなたはすべての既存のデータの複製因子を変更したい場合は
コマンドライン(HDFSゲートウェイの役割を持つ一般ノード)に
hdfs dfs -setrep 2/
を使用してください。このコマンドは、ルートディレクトリ/の下にあるすべてのファイルの複製係数を再帰的に変更します。
構文:
hdfs dfs -setrep [-R] [-w] <numReplicas> <path>
where
-w flag requests that the command wait for the replication to complete and can take a very long time
-R flag is just for backwards compatibility and has no effect
参考:
0
新しい複製因子は、新しいファイルのみに影響します。
hadoop fs -setrep -w <replication factor> -R/
(Hadoopのエントリポイントを持つノード上の)シェルで実行しかし、唯一の「HDFSは」/に書き込むことができ、既存のファイルの複製因子を変更するには(「HDFSは」スーパーユーザではなく、「ルート」です)。したがって、これを実行する必要があります:
sudo -u hdfs hadoop fs -setrep -w <replication factor> -R/
関連する問題
- 1. HDFSレプリケーションファクタの変更
- 2. HDFSレプリケーションファクタはどのように決定されますか?
- 3. HDFS:ディレクトリを削除する
- 4. メモリ削減
- 5. ソートネットワークの削減
- 6. メモリフットプリントの削減
- 7. タスク数削減Spark
- 8. Lapackの行削減
- 9. パンダデータ削減とマージ
- 10. numpyの削減が
- 11. Erlang Processes削減数
- 12. 削減bitwise_and機能
- 13. 代替(の削減)
- 14. 座標削減python
- 15. 見る削減ステップハスケル
- 16. 警告:2競合を削減/削減[-Wconflicts-RR] yacc文法で
- 17. コマンドへのサービスの削減
- 18. CUDA削減の最適化
- 19. 削減約束は早期
- 20. OpenMP削減同期エラー
- 21. CouchDBのビュー(マップ/削減)
- 22. 円形寸法削減?
- 23. CLDNNの次元削減(テンソルフロー)
- 24. Kotlin、重複コードを削減
- 25. ASP.NET MVC3ルートマッピングの削減ヘルプ
- 26. スパークスケーラのRDDの削減
- 27. ベータ削減ラムダ計算
- 28. XHR帯域幅削減
- 29. 消費電力の削減
- 30. 削減ドッキングウィンドウの画像サイズ
'hadoop fs -setrep -w 1 -R /'にするべきではありませんか? – zeekvfu
理想的には、それは 'hadoop fs'です。しかし、 'hadoop dfs'は廃止されていますが、まだ動作しています。 – daemon12
@zeekvfu、実際には、apache hdfsの最終リリースでは以下のようになります:hdfs dfs -setrep -w 2 -R / –