Я выполняю задание Hadoop (используя Hadoop 0.20.2) на установке из 6 компьютеров; одна машина является именным узлом / вторичным узлом / устройством отслеживания заданий (ведущим), а остальные 5 компьютеров являются узлами данных / средствами отслеживания задач (подчиненными). В проекте более 14000 карт, и он выполнен более чем на 10%. Когда я просматриваю страницу с информацией о вакансиях, я вижу следующее:
Status: Running
Started at: Tue Jul 05 18:12:44 PDT 2011
Running for: 66hrs, 5mins, 4sec
Job Cleanup: Pending
Black-listed TaskTrackers: 1
Я вхожу в систему, о которой идет речь, и вижу, что процесс отслеживания задач запущен, но машина не выполняет никакой работы (верхняя команда показывает мне, что загрузка ЦП <10%). Я уже перезапустил узел отслеживания задач с помощью этих команд
./hadoop-daemon.sh stop tasktracker
./hadoop-daemon.sh start tasktracker
но узел все еще находится в черном списке, и трекер задач работает, но машина по-прежнему не выполняет никакой работы.
Вопрос: Есть ли способ указать Hadoop «снять» его с черного списка и отправить задачи на узел? Надеюсь, без перезапуска работы?
PS. Было подтверждено, что узел работает и выполняет задачи в начале задания.
Поместите следующий конфиг в conf / hdfs-site.xml:
<property>
<name>dfs.hosts</name>
<value>/full/path/to/whitelisted/node/file</value>
</property>
Используйте следующую команду, чтобы попросить Hadoop обновить статус узла на основе конфигурации.
./bin/hadoop dfsadmin -refreshNodes