Где запустить агент Flume, который записывает в HDFS?

У меня есть 25-20 агентов, отправляющих данные паре агентов-сборщиков, и эти агенты-сборщики затем должны записывать их в HDFS.

Куда запустить этих коллекторских агентов? На узле данных кластера Hadoop или вне кластера? Каковы плюсы/минусы каждого и как люди в настоящее время используют их?


person Aravind Yarram    schedule 26.03.2014    source источник


Ответы (2)


Агенты Flume уровня 2 используют hdfsSink для записи непосредственно в HDFS. более того, Tier1 может использовать отказоустойчивую приемную группу. В случае, если один из агентов канала 2 уровня не работает.

person edwardsbean    schedule 27.03.2014
comment
Вопрос в том, следует ли запускать агенты уровня 2 на узлах данных? - person Aravind Yarram; 27.03.2014
comment
нет необходимости. Если вы запускаете уровень 2 в узлах данных и используете файловый канал, дисковый ввод-вывод ведет к худшему узлу данных. - person edwardsbean; 27.03.2014
comment
Можете ли вы уточнить, как работа на узле данных приводит к снижению производительности? - person Aravind Yarram; 27.03.2014
comment
для восстановления после сбоя мы используем файловый канал в производственной среде. В файловом канале каждое событие хранится на диске, hdfsSink берет событие с диска. - person edwardsbean; 27.03.2014

Я предполагаю, что вы используете что-то вроде Flume. В этом случае агент Flume (по крайней мере, первого уровня) запускается везде, откуда поступают данные. IE: веб-сервер для веб-журналов.

Flume поддерживает другие протоколы, такие как JMS, поэтому расположение будет варьироваться в этих сценариях.

Для производственных кластеров вам не нужно запускать «агенты», такие как flume, на узлах данных. Лучше всего выровнять ресурсы этого оборудования для кластера.

Если у вас много агентов, вы захотите использовать многоуровневую архитектуру для консолидации и объединения многочисленных источников в меньший набор агентов, которые будут записывать в HDFS. Это помогает контролировать видимость и доступность кластера для внешних серверов.

person dstreev    schedule 27.03.2014
comment
Я думаю, что я не ясно, как я хотел. Я использую многоуровневую архитектуру Flume. Мой вопрос заключался в том, где находится последний уровень, который записывает в HDFS, для лучшей пропускной способности записи? Агенты уровня 1 работают на виртуальных машинах сервера приложений, агенты Flume уровня 2 работают на выделенных компьютерах, и где мы должны запускать агенты Flume уровня 3? - person Aravind Yarram; 27.03.2014