2011-10-07 7 views
5

を実行したとき、私は私のconf/mapred-site.xmlHadoopのは - XMLでマップタスクを大きくすると、マップタスクを増加させていない

<property> 
    <name>mapred.tasktracker.map.tasks.maximum</name> 
    <value>4</value> 
</property> 

<property> 
    <name>mapred.tasktracker.reduce.tasks.maximum</name> 
    <value>1</value> 
</property> 

に次を追加しました。しかし、私は仕事を実行すると、そのはまだ2 maps(which is default one)を実行しますか?この数字を増やすにはどうすればいいですか?

P.S.私はUbuntu Quad coreボックス

答えて

4

少量のデータを実行していますか? MapReduceジョブが1つの入力分割だけで実行されている可能性があります。したがって、より多くのマッパーは必要ありません。代わりに何百MBものデータを処理してみて、同じ問題が残っていないかどうか確認してください。

1つのノードで実行できるタスクの最大数は、ジョブに割り当てられているマップタスクの数とは関係ありません。あなたの仕事は20のマップタスクになることができますが、クラスタには5つのマップスロットがあり、時間がかかります。または、クラスタにマップスロットが50個ありますが、ジョブにはマップスロットが2つしかありません。

0
<property> 
    <name>mapred.tasktracker.map.tasks.maximum</name> 
    <value>1</value> 
    <final>true</final> 
</property> 

はそれを試してみてくださいありがとうを使用しています。

+0

元の問合せは、マップ・タスクに関するものであり、削減タスクに関するものではありません。ジョブのマップ・タスクの総数は、入力スプリットの数と等しくなります。 || elで実行できるマップ/リダクションタスクの数は、TaskTracker上でしか制御できません。 –

+0

これは、クラスタ全体ではなく、より多くのマップタスクで実行する必要があるジョブです。 –

2

mapred.tasktracker.map.tasks.maximumは、タスクトラッカーが同時に実行できるタスクの最大数です。しかし、ジョブ全体のマップ・タスク数を設定する場合は、mapred.map.tasksを4に設定してください。

関連する問題