我正在尝试配置flume来观看hadoop任务日志目录,因此当新任务启动时,任务日志将流式传输到水槽并过滤一些事件日志并将其发送到某处(当作业仍在运行时) .
是否有可以使用的Flume源?像exec source tail这样的东西,但是当flume agent启动时,不知道完整的文件路径 . 我认为在这里不能使用假脱机目录,因为我需要在写入时扫描日志 .
是的,实际上假脱机源将完成这项工作 . 这是一个示例配置:
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中的相应文件 .
1 回答
是的,实际上假脱机源将完成这项工作 . 这是一个示例配置:
fileHeader prop将设置一个带有文件名的标头,该标头在HDFS-Sink路径中引用 . 这会将事件路由到HDFS中的相应文件 .