Бесполезный мастер hadoop - как заставить это сделать некоторую работу? - PullRequest
1 голос
/ 14 сентября 2010

Я запустил небольшой кластер из двух узлов и заметил, что мастер остается полностью бездействующим, пока подчиненный выполняет всю работу.Мне было интересно, каким образом мастер может выполнить некоторые задачи.Я понимаю, что для более крупного кластера наличие выделенного мастера может быть необходимым, но в кластере с двумя узлами это кажется излишним.

Спасибо за любые советы,

Vaclav

Еще несколько деталей:

В двух коробках по 2 ЦП каждый.Кластер был настроен на Amazon Elastic MapReduce, но я запускаю hadoop из командной строки.

Кластер, на котором я только что попробовал, имеет:

Hadoop 0.18
java version "1.6.0_12"
Java(TM) SE Runtime Environment (build 1.6.0_12-b04)
Java HotSpot(TM) Server VM (build 11.2-b01, mixed mode)


hadoop jar /home/hadoop/contrib/streaming/hadoop-0.18-streaming.jar  \
            -jobconf mapred.job.name=map_data \
            -file /path/map.pl                     \
            -mapper  "map.pl x aaa"                                     \
            -reducer NONE                                     \
            -input   /data/part-*                                         \
            -output  /data/temp/mapped-data                                    \
            -jobconf mapred.output.compress=true

, где ввод состоит из 18 файлов.

Ответы [ 3 ]

0 голосов
/ 14 сентября 2010

Стив Лафран в списке пользователей hadoop предположил, что запуск трекера задач на мастере поможет.

$ bin / hadoop-daemon.sh start tasktracker

Кажется, работает. Вы можете настроить количество слотов для этого треккера.

0 голосов
/ 14 сентября 2010

Может быть иначе для Hadoop 0.18, но вы можете попробовать добавить IP-адрес мастера в файл conf / slaves - затем перезапустить кластер

0 голосов
/ 14 сентября 2010

На самом деле, мастер Hasoop не выполняет работу (задачи, которые вы запускаете).Вы можете запустить datanode и tasktracker на той же машине, на которой работает мастер.

...