2011-12-02 8 views
8

4コアノートPCで擬似分散モードでタスクを実行しています。どのようにしてすべてのコアが有効に使用されているかを確認できます。 現在、私のジョブトラッカーは、一度に1つのジョブしか実行されていないことを示しています。コアが1つしか使われていないということですか?Hadoop擬似分散モードでの全コアのフル活用

私の設定ファイルは次のとおりです。

CONF /コア-site.xmlの:

<configuration> 
    <property> 
     <name>fs.default.name</name> 
     <value>hdfs://localhost:9000</value> 
    </property> 
</configuration> 

CONF/HDFS-site.xmlの:

<configuration> 
    <property> 
     <name>dfs.replication</name> 
     <value>1</value> 
    </property> 
</configuration> 

CONF/mapred-site.xmlの:

<configuration> 
    <property> 
     <name>mapred.job.tracker</name> 
     <value>localhost:9001</value> 
    </property> 

</configuration> 

EDIT : 答えごとに、mapred-site.xmlに次のプロパティを追加する必要があります。

<property> 
    <name>mapred.map.tasks</name> 
    <value>4</value> 
    </property> 
    <property> 
    <name>mapred.reduce.tasks</name> 
    <value>4</value> 
    </property> 
+0

mapred.map.tasksおよびmapred.reduce.tasksはノードごとのmap/reduceタスクの数を制御しません。回答を選択する前に確認してください。 –

+0

@Praveenそれは正しいですが、彼は1ノードを持っているので、トラッカーごとに最大値を上げるのではなく、より多くのマッパーを使うように少なくとも提案する必要があります。 –

+0

@Nemo mapred-site.xmlにmapred。(map | reduce).tasksの値4を追加するだけでなく、mapreduce.tasktracker(map | reduce).tasks.maximumの値を完全に変更しましたか?すべてのコアを活用しますか? – AST

答えて

3

mapred.map.tasksおよびmapred.reduce.tasksがこれを制御し、mapred-site.xmlに設定されます。ただし、これらはクラスタ全体のデフォルトとして設定されます。より一般的には、ジョブごとにこれらを設定します。 javaコマンドラインで同じパラメータを設定することができます。-D

+0

4コアシステムにはいくつのマップタスクとリダクションタスクが最適でしょうか? – Nemo

+0

4はおそらく良いスタートになるでしょうが、CPUバインドではなく1台のマシンですぐにI/Oバウンドになるかもしれません。 –

+0

私はそれが新しい問題だと思います。 http://stackoverflow.com/questions/8357630/error-when-setting-mapred-map-tasks-in-pseudo-distributed-mode – Nemo

6

mapreduce.tasktracker.map.tasks.maximumおよびmapreduce.tasktracker.reduce.tasks.maximumプロパティはマップの数を制御し、ノードあたりのタスクを削減します。 4コアプロセッサの場合、2/2から開始し、そこから必要に応じて値を変更します。スロットはマップまたは縮小スロットで、値を4/4に設定すると、Hadoopフレームワークが4つのマップを起動し、4つが同時にタスクを削減します。ノード上で合計8つのマップおよびリダクションタスクが一度に実行されます。

mapred.map.tasksおよびmapred.reduce.tasksプロパティは、ノードごとのタスク数ではなく、ジョブのマップ/リダクションタスクの総数を制御します。また、mapred.map.tasksはHadoopフレームワークへのヒントであり、ジョブのマップタスクの総数はInputSplitsの数と同じです。

関連する問題