私の状況では、Jobcontrol に 2 つのジョブがあり、次に 200 のマップ ノードがあるかどうかを知る必要があります。ブロック サイズは 64 MB なので、完全な処理データは (64*200 = 12.8GB) である必要がありますが、最初のジョブ サイズは 10 GB です。マップノードに空のスロットがある場合はどうしますか? Hadoop はキュー内の 2 番目のジョブを処理するか、最初のジョブ マップが終了して 2 番目のジョブを処理するまで待機するか、別の方法を提案してください
質問する
103 次
1 に答える
0
Hadoop の FIFO スケジューラを使用していて、同じユーザーとして 2 つのジョブを実行している場合、最初のジョブの実行中に十分な空き Map/Reduce スロットが利用できる場合にのみ、2 番目のジョブの実行が開始されます。ジョブがあったとしても、スケジューラーによって、2 番目のジョブよりも 1 番目のジョブが優先されます。そのため、Hadoop は最初のジョブが十分に終了するのを待ってから、2 番目のジョブがスケジュールされます。
単一の大きなファイルと比較すると、namenode はより多くのファイル inode を管理する必要があるため、通常、入力分割サイズよりも小さいファイルを使用することはお勧めしません。
于 2012-12-26T18:06:45.130 に答える