2017-01-09 6 views
0

По умолчанию для работы в hadoop 2.7.3 может быть два картографа. У меня есть кластер из 2 систем с 4 ядрами, доступными для каждого. Один - мастер, а один - рабочий. Теперь я хочу запустить рабочий узел 3-мерных задач. Могу ли я это сделать? Я использую потоки хаопов для выполнения задания. Итак, какой аргумент я должен установить для этой цели. Также я хочу установить один вход (строка) только одному картографу. Каким должен быть формат аргументов. Моя текущая команда, которая не в полной мере ощутить работу являетсяизменить картупер на число ядер на каждого рабочего в hadoop 2.7.3

hadoop jar $HADOOP_HOME/share/hadoop/tools/lib/hadoop-streaming-2.7.3.jar\ 
    -D mapred.output.compress=true \ 
    -D mapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec \ 
    -files test.py -mapper test.py -reducer cat \ 
    -input /aws/input/sample.gz -output /aws/output/test 

Выход показывает, что имеется одна maptask только

ответ

1

Количество параллельно работающих картографами на основе входных расколов и контейнерных ресурсов.

Попробуйте NLineInputFormat так что каждая строку входного файла идти к своему картографу:

-inputformat org.apache.hadoop.mapreduce.lib.input.NLineInputFormat 

Количество линий на картограф может быть установлено с конфигурацией парами

-Dmapreduce.input.lineinputformat.linespermap=N 

Если вы хотите получить эту работу, чтобы иметь только 3 карты, вы должны установить N = file_lines/3 + 1

Если вы также хотите, чтобы они запускались параллельно, убедитесь, что ресурсов ОЗУ и ЦП достаточно, чтобы одновременно запускайте 3 задачи карты. Обычно он настраивается в файлах YARN xml в настройке map container memory. Помните, что Hadoop запускает несколько вспомогательных экосистемных процессов, таких как NameNode, DataNode, AppMaster, ResourceManager и другие, которые также потребляют ресурсы.

Также я не уверен в том, что файл GZ является источником входных данных, возможно, вам понадобится использовать обычный текст, чтобы NLineInputFormat мог работать.

+0

Спасибо, я сказал, что хочу трех картографов на рабочих не в целом. На самом деле, я хочу полностью использовать свои рабочие ядра. – Shafiq

+0

@Shafiq идея такая же в любом случае – AdamSkywalker

+0

Спасибо, я застрял в другой точке. Я опубликовал http://stackoverflow.com/questions/41561367/hadoop-2-7-3-analyze-gz-files-one-mapper-to-each-file – Shafiq