2015-01-14 1 views
2

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

Есть ли источник потока, который можно использовать? что-то вроде хвоста exec exec, но полный путь к файлу неизвестен при запуске flume agent. Я думаю, что каталог спула не может использоваться здесь, потому что мне нужно сканировать журналы, когда они написаны.

ответ

3

Да, на самом деле источник катушки выполнит эту работу. Вот пример конфигурации:

SpoolAgent.sources = MySpooler 
SpoolAgent.channels = MemChannel 
SpoolAgent.sinks = HDFS 

SpoolAgent.channels.MemChannel.type = memory 
SpoolAgent.channels.MemChannel.capacity = 500 
SpoolAgent.channels.MemChannel.transactionCapacity = 200 

SpoolAgent.sources.MySpooler.channels = MemChannel 
SpoolAgent.sources.MySpooler.type = spooldir 
SpoolAgent.sources.MySpooler.spoolDir = /var/log/hadoop/ 
SpoolAgent.sources.MySpooler.fileHeader = true 

SpoolAgent.sinks.HDFS.channel = MemChannel 
SpoolAgent.sinks.HDFS.type = hdfs 
SpoolAgent.sinks.HDFS.hdfs.path = hdfs://cluster/logs/%{file} 
SpoolAgent.sinks.HDFS.hdfs.fileType = DataStream 
SpoolAgent.sinks.HDFS.hdfs.writeFormat = Text 
SpoolAgent.sinks.HDFS.hdfs.batchSize = 100 
SpoolAgent.sinks.HDFS.hdfs.rollSize = 0 
SpoolAgent.sinks.HDFS.hdfs.rollCount = 0 
SpoolAgent.sinks.HDFS.hdfs.rollInterval = 3000 

FileHeader проп установит заголовок с именем файла, который ссылается на пути HDFS-Sink. Это перенаправляет события в соответствующий файл в HDFS.

+1

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

+2

yes - flume не имеет возможности заметить, если файл все еще обрабатывается. вы должны размещать готовые файлы только в своем каталоге спула. Чтобы процитировать официальный документ: «в каталог буферизации должны быть сброшены только неизменные, уникально названные файлы» - иначе лоток не удастся. Если вы хотите иметь непрерывный доступ к файлу журнала, вы можете использовать ExecSource с хвостом -f вместо этого. –

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

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