Question

Je suis en cours d'exécution d'une tâche en mode pseudo-distribué sur mon ordinateur portable 4 core. Comment puis-je faire en sorte que tous les cœurs soient effectivement utilisés. Actuellement, mon tracker emploi montre que seul un travail est en train d'exécuter à la fois. Est-ce que cela veut dire qu'un seul noyau est utilisé?

Les éléments suivants sont mes fichiers de configuration.

conf / core-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: Selon la réponse, je dois ajouter les propriétés suivantes dans mapred-site.xml

 <property>
     <name>mapred.map.tasks</name> 
     <value>4</value> 
  </property>
  <property>
     <name>mapred.reduce.tasks</name> 
     <value>4</value> 
  </property>
Était-ce utile?

La solution

mapred.map.tasks et mapred.reduce.tasks contrôleront cela, et (je crois) serait mis en mapred-site.xml. Cependant, cela établit ces paramètres par défaut comme l'échelle du cluster; plus généralement vous configurer ces derniers sur une base par emploi. Vous pouvez définir les mêmes params sur la ligne de commande java avec -D

Autres conseils

mapreduce.tasktracker.map.tasks.maximum et les propriétés mapreduce.tasktracker.reduce.tasks.maximum contrôlent le nombre de carte et réduire les tâches par nœud. Pour un processeur 4 central, commencer par 2/2 et de là, modifier les valeurs si nécessaire. Une fente est une carte ou une fente à réduire, le réglage des valeurs 4/4 fera le framework Hadoop lancement 4 carte et 4 réduire les tâches en même temps. Un total de 8 carte et réduire les tâches exécutées à la fois sur un nœud.

propriétés mapred.map.tasks et mapred.reduce.tasks contrôlent le nombre total de map / reduce tâches pour le travail et non le nombre de tâches par nœud. En outre, mapred.map.tasks est une indication pour le framework Hadoop et le nombre total des tâches de la carte pour le travail est égal au nombre de InputSplits.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top