使用 Flume 处理预先存在的日志文件

使用 Flume 处理预先存在的日志文件

我有一大堆日志文件需要从中提取数据。是否可以使用 Flume 读取这些文件并将其转储到 HDFS(Cassandra 或其他数据源)中,然后我可以进行查询?

文档似乎表明这都是基于实时事件的日志处理。我想知道我是否遗漏了一些明显的过程,只是让 flume 读取并处理目录中的静态日志文件。

答案1

是的,这是水槽的标准用例。

具有日志文件的服务器将运行 flume-node,而另一台(或可能是同一台)服务器将运行 flume-master。flume-nodes 将发现 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

水槽用户指南中有更多信息: http://archive.cloudera.com/cdh/3/flume/UserGuide/index.html

相关内容