2017-12-18 4 views
1

いくつかの背景として、我々は現在、生産および開発として使用されている2つのクラスターを有する。その一環として、実際のプロセスによって生成されたファイル(hadoop distcp -updateを使用)を本番クラスタから開発クラスタにコピーしています(つまり、効果的にDRクラスタとしても機能します)。異なる複製因子を有するクラスター間のhadoop distcp

Hadoopのバージョンは、両方のクラスタで同じである:Hadoopの2.6.0-cdh5.12.1

はしかし、開発クラスタは、ライブクラスタのストレージ容量の約65%を持っています。それに対処するために、ライブの場合は3、開発の場合は2というデフォルトの複製係数があります。

私は、ライブから開発にコピーされているファイルのレプリケーションファクタが3であることに気付きました。私はいくつかの読書をしましたが、これは、それが行動するように。

私はこれのバックオフ二つの質問があります:いくつかの研究から

  • は-setrepはポストのコピーを使用することができますが、-D dfs.replication = xではの一部として使用することができることが示唆されていますさコピーコマンド。誰もこれらのオプションのいずれかを経験したことがありますか?
  • これまで誰もこの状況に対処していたのですが、別の解決策が見つかりましたか?

ありがとうございました。

答えて

1

私はいくつかのテストを行い、以下のことをやった:

  • は、以前、したがって、コピーされたファイルを介して実行が3の複製因子を持っていたし、使用hadoop distcp -update $SOURCE $TARGETからhadoop distctp -D dfs.replication=2 -update $SOURCE $TARGET
  • にdistcpコマンドを変更hdfs dfs -setrep -w 2 $TARGETを使用して複製因子を修正する。

ディスク容量が減少し始めているので、これを成功としてカウントしています。多分いつか私は自分が何をしているかを知ることができるでしょう。

関連する問題