Обработка уже существующих файлов журнала с Flume

У меня есть большой набор файлов журналов, из которых мне нужно извлечь данные. Можно ли использовать Flume для чтения этих файлов и выгрузки их в HDFS (Cassandra или другой источник данных), который я затем могу запросить?

Документация, кажется, предполагает, что все это обработка журналов, основанная на реальных событиях. Мне интересно, если я пропускаю какой-то очевидный процесс, чтобы просто прочитать и обработать файлы статического журнала из каталога.

1 ответ

Да, это стандартный вариант использования Flume.

Сервер с файлами журналов запустит flume-узел, а другой (или, возможно, тот же) сервер запустит flume-master. Flume-узлы обнаружат flume-master, а из flume-master вы можете выполнить такие команды:

exec config my-config 'tail("/path/to/logfile")' 'collectorSink("hdfs://path/to/hdfs-folder", [options])'

Это создает конфигурацию, которая сообщает Flume, как получить доступ к файлу (он может отслеживать или читать весь файл, доступны другие параметры) и где его разместить.

Затем необходимо указать конфигурацию на конкретном сервере:

exec map (server-hostname) my-config

Дополнительная информация содержится в руководстве пользователя flume: http://archive.cloudera.com/cdh/3/flume/UserGuide/index.html

Другие вопросы по тегам