Назад | Перейти на главную страницу

Задание потоковой передачи Hadoop на EC2 остается в состоянии ожидания

Попытка поэкспериментировать с Hadoop и Streaming с использованием дистрибутива cloudera CDH3 на Ubuntu.

Подготовьте действительные данные в hdfs: // для обработки.

Написал маленький потоковый картограф на питоне.

Когда я запускаю только картографическое задание, используя:

hadoop jar /usr/lib/hadoop/contrib/streaming/hadoop-streaming*.jar -file   /usr/src/mystuff/mapper.py -mapper /usr/src/mystuff/mapper.py  -input /incoming/STBFlow/* -output testOP

hadoop должным образом решает, что будет использовать 66 карт сопоставления в кластере для обработки данных. Каталог testOP создается на HDFS. Создается файл job_conf.xml. Но пользовательский интерфейс трекера заданий на порте 50030 никогда не показывает, что задание выходит из состояния ожидания, и больше ничего не происходит. Использование ЦП остается на нуле. (работа является хотя создан)

Если я дам ему в качестве входных данных один файл (вместо всего каталога), результат будет тот же (за исключением того, что Hadoop решит, что ему нужны 2 преобразователя вместо 66).

Я также пробовал использовать «глупую» утилиту Python и запускать задания с ее использованием: тот же результат: постоянно ожидает выполнения.

Итак, я упускаю кое-что базовое: может ли кто-нибудь помочь мне с тем, что мне следует искать? Кластер находится на Amazon EC2. Возможны проблемы с брандмауэром: порты явно включены в каждом конкретном случае в группе безопасности кластера.

Извини, я идиот.

Задания остаются «ожидающими» навсегда, потому что, хотя процессы узлов данных в кластере выполнялись, процессы taskTracker не выполнялись.

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

Как только это будет исправлено, задачи можно будет запускать в обычном режиме.