2

私は、16 ノードの Hadoop (バージョン 1.2.0) クラスターを使用します。1 つにはパブリック IP (マスター) があり、15 はプライベート ネットワーク (スレーブ) を介して接続されています。

マッパーの出力を保存するために、(これらの 16 ノードに加えて) リモート サーバーを使用することは可能ですか? 問題は、マップ フェーズ中にノードのディスク容量が不足し、マップ出力をこれ以上圧縮できないことです。

mapred.local.dirinmapred-site.xmlは、tmp ファイルが保存されているディレクトリのコンマ区切りリストを設定するために使用されることを知っています。理想的には、1 つのローカル ディレクトリ (既定のディレクトリ) とリモート サーバー上の 1 つのディレクトリが必要です。ローカル ディスクがいっぱいになったら、リモート ディスクを使用したいと思います。

4

2 に答える 2

3

これについてはよくわかりませんが、リンク(http://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml)によると、それ:

ローカル ディレクトリは、MapReduce が中間データ ファイルを格納するディレクトリです。ディスク i/o を分散するために、さまざまなデバイス上のディレクトリのコンマ区切りリストを指定できます。存在しないディレクトリは無視されます。

また、チェックアウトする必要がある他のプロパティがいくつかあります。これらが役立つかもしれません:

  1. mapreduce.tasktracker.local.dir.minspacestart : mapreduce.cluster.local.dir のスペースがこれより下に落ちた場合、それ以上のタスクを要求しないでください。バイト単位の値

  2. mapreduce.tasktracker.local.dir.minspacekill : mapreduce.cluster.local.dir のスペースがこれより下に落ちた場合、現在のすべてのタスクが終了してクリーンアップされるまで、それ以上タスクを要求しないでください。また、実行中の残りのタスクを保存するには、そのうちの 1 つを強制終了して、スペースをクリーンアップします。縮小タスクから始めて、最も完了していないタスクに進みます。バイト単位の値。

于 2014-10-30T10:54:05.603 に答える