ошибка в случайном порядке: превышено max_failed_unique_matche: выход из строя

Я новичок в hadoop, и я пытаюсь выполнить пример WordCount. У меня есть кластер из 4 узлов, созданных виртуальными машинами на моем компьютере. Каждый раз, когда задание завершает задачу сопоставления, но задача сокращения за время около 16% показывает эту ошибку:

Ошибка воспроизведения в случайном порядке: превышено MAX_FAILED_UNIQUE_FETCHES; выручая.

05.12.24 04:43:12 WARN mapred.JobClient: Ошибка чтения задачи outputmachine3-VirtualBox

Похоже, что ведомые не могут получить данные от других ведомых. По некоторым ссылкам я обнаружил, что это может произойти из-за несоответствия в файле / etc / hosts. Но я перепроверил их, и все они последовательны. Может кто-нибудь мне помочь

 Chris White24 мая 2012 г., 02:35
Можете ли вы опубликовать журналы с одной из ваших попыток сокращения задачи

Ответы на вопрос(2)

Решение Вопроса

препятствующий обмену данными между узлами кластера на общих портах hadoop (50060 для трекера задач в этом случае). Протестируйте, свернувшись от одного узла к другому через порт 50060, и убедитесь, что вы получите код ответа http:

curl -I http://node1:50060/

Обязательно замените «узел1»; в приведенном выше с каждым из значений в$HADOOP_HOME/conf/slaves файл

EDIT Таким образом, оказывается, что это, скорее всего, проблема DNS, вот что вы должны попробовать:

Examine the ${HADOOP_HOME}/conf/slaves file - each entry in here needs to be in the /etc/hosts file for each node in your cluster, or you must have them in your networks DNS server Once you've asserted the hosts file ON EVERY NODE in your cluster (or configured your DNS server), log into each node and check that you can ping the other cluster nodes by the names in the slaves file. Finally assert you can curl the tasktracker (port 50060) from each node to the other nodes (again using the machine names in the slaves file) Restart your mapreduce services, just to be safe
 DB cooper24 мая 2012 г., 02:42
Я создал сеть, разместив сеть виртуального хоста только для связи между узлами. Я не думаю, что есть какой-либо брандмауэр
 DB cooper24 мая 2012 г., 13:20
ну его возвращение: curl: не удалось подключиться к хосту
 24 мая 2012 г., 02:58
Итак, работает ли скручивание с одного узла на другой через порт 50060?
 DB cooper24 мая 2012 г., 02:49
узлы слушают порт 50060
 24 мая 2012 г., 13:23
и регистрирует ли трекер задач узел, к которому вы пытаетесь подключиться, чтобы показать, что он работает через порт 50060. Можете ли вы пропинговать один хост на другой?

введя $ hostname в терминале. Убедитесь, что вы получаете одно и то же имя вашей машины (master в master-узле и slave в slave-узле). Если нет, измените / etc / hostname на имя вашего узла (master / slave). Затем перезагрузите систему. Это будет работать.

ПРОСТЫЕ Группы

 13 сент. 2015 г., 16:59
Спасибо ! Я в долгу перед тобой;) .. я долго зацикливался на этом ...

Ваш ответ на вопрос