2014-12-04 4 views
-1

Я новичок в Hadoop, и я установил один многодиапазонный Hadoop с версией Hadoop 2.5.1. Когда я запустить задание MapReduce с помощью командыработает только один преобразователь и редуктор, хотя я меняю на 5 карт и 2 редуктора

hadoop jar jarFile <ClassName> <InputFile> <outputDirectory> -D mapreduce.job.reduces=2 mapreduce.job.maps=5 

Но когда я вижу выход я вижу только один картограф и один редуктор работает.

И я вижу, нет понятия слота карты и слот редуктора в Hadoop 2.5.1

И мой размер файла 78MB. Так что причина в том, что размер моего файла довольно мал, а блоки очень низкие, так что работает только один картограф?

Помощь в этом будет здорово для меня, чтобы идти вперед.

Благодарности & С уважением, Srilatha К.

ответ

1

Это потому, что по умолчанию размер блока составляет 128 и, следовательно, ваш файл размером 78м никогда не оказалась разделённой accross нескольких блоков. См this, который говорит умолчанию размер блока равен 128.

Если вы хотите увидеть два картографа затем добавьте следующие строки в $ HADOOP_HOME/CONF/HDFS-site.xml

<property> 
    <name>dfs.blocksize</name> 
    <value>64M</value> 
</property> 
+0

Спасибо за ответ Алмас, но У меня даже есть один вопрос. У меня есть еще один сингленовый кластер с Hadoop 1.0.4. когда я выполняю одно и то же задание MR в этом clusetr, я вижу 2 выполняемые задачи карты, я попытался изменить размер блока и даже -D mapreduce.job.maps = 1. Но все же я вижу 2 задачи карты. Не могли бы вы помочь мне в этом, точно так же, как я должен изменить, чтобы увидеть только одну задачу карты. – user3282197

+0

Это потому, что в 1.0.4 размер блока по умолчанию был 64M. Подробнее о свойствах по умолчанию см. [Здесь] (http://hadoop.apache.org/docs/r1.0.4/hdfs-default.html). – SMA

+0

Хорошо, спасибо за ваш ответ Алмас, но я изменил этот размер по умолчанию на 128M, запустил все службы и проверил, все еще iam имеет 2 картографа, поэтому какая-то особая причина такого поведения? – user3282197

 Смежные вопросы

  • Нет связанных вопросов^_^