首页 文章

配置flume来查看新日志的目录

提问于
浏览
2

我正在尝试配置flume来观看hadoop任务日志目录,因此当新任务启动时,任务日志将流式传输到水槽并过滤一些事件日志并将其发送到某处(当作业仍在运行时) .

是否有可以使用的Flume源?像exec source tail这样的东西,但是当flume agent启动时,不知道完整的文件路径 . 我认为在这里不能使用假脱机目录,因为我需要在写入时扫描日志 .

1 回答

  • 4

    是的,实际上假脱机源将完成这项工作 . 这是一个示例配置:

    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 prop将设置一个带有文件名的标头,该标头在HDFS-Sink路径中引用 . 这会将事件路由到HDFS中的相应文件 .

相关问题