Полное использование всех ядер в псевдораспределенном режиме Hadoop - PullRequest
8 голосов
/ 02 декабря 2011

Я запускаю задачу в псевдораспределенном режиме на моем 4-ядерном ноутбуке.Как я могу обеспечить эффективное использование всех ядер?В настоящее время мой трекер работы показывает, что одновременно выполняется только одна работа.Означает ли это, что используется только одно ядро?

Ниже приведены мои файлы конфигурации.

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>

РЕДАКТИРОВАТЬ: В соответствии с ответом мне нужно добавить следующие свойства в mapred-site.xml

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

Ответы [ 2 ]

6 голосов
/ 02 декабря 2011
Свойства

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.

3 голосов
/ 02 декабря 2011

mapred.map.tasks и mapred.reduce.tasks будут управлять этим, и (я полагаю) будет установлен в mapred-site.xml. Однако это устанавливает их как значения по умолчанию для всего кластера; чаще вы настраиваете их для каждой работы. Вы можете установить те же параметры в командной строке Java с помощью -D

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...