2016-06-21 2 views
0

Я хочу реализовать службу координатора, которая работает в Namenode.Внедрить службу координатора для Hadoop

Так что, когда задача карты завершила выполнение своих задач, она отправит обратную связь в namenode, чтобы сообщить, что «Machine (x.x.x.x) обработал идентификатор блока ... принадлежит файлу ...». Namenode будет поддерживать эту информацию в таблице (например).

Я знаю этот вопрос слишком общий, но на самом деле сейчас я застрял в этом.

Могу ли я реализовать эту функцию в Hadoop и как я могу это сделать? Кто-нибудь может дать мне идеалы или какие-то подобные задачи уже сделали?

+0

В Namenode есть журналы аудита о том, кто открыл путь к файлу. С помощью пути к файлу вы знаете идентификаторы блоков. – waltersu

+0

Моя цель - как я могу реализовать обратную связь от узла данных, чтобы называть узел, когда задача карты завершена. Является ли это возможным? – nd07

+0

№. HDFS - это независимый проект. Вам нужно сделать это на своей карте. – waltersu

ответ

0

Вам нужна служба, которая получает уведомление и хранит его в каком-либо месте (может быть служба отдыха или MQ), неважно, работает ли эта служба на NameNode или на сервере за пределами кластера. Просто сказать, что NameNode является наиболее важной точкой в ​​кластере, я действительно не рекомендую использовать его для развертывания любой дополнительной службы.

После этого, вам нужно будет переопределить метод очистки , чтобы отправить сообщение «Задача карты завершена» после завершения задачи «Карта».

Или вы можете попробовать API-интерфейс Hadoop ResourceManager, чтобы узнать, есть ли информация, которую вы ищете, и просто опросить этот API вместо этого, чтобы создать новый.

 Смежные вопросы

  • Нет связанных вопросов^_^