我有一大堆我需要从中提取数据的日志文件。 是否有可能使用Flume读取这些文件并将其转储到HDFS(Cassandra或其他数据源),然后我可以查询?
文档似乎表明这是所有基于实时事件的日志处理。 我想知道如果我错过了一些明显的过程,只是从目录读取和处理静态日志文件。
是的,这是水槽的标准用例。
带有日志文件的服务器将运行一个水槽节点,而另一台(或可能是相同的)服务器将运行一个水槽主节点。 水槽节点将发现水槽主,从水槽主你可以执行命令如:
exec config my-config 'tail("/path/to/logfile")' 'collectorSink("hdfs://path/to/hdfs-folder", [options])'
这将创build一个configuration,告诉flume如何访问文件(它可以拖尾或读取整个文件,其他选项可用)以及放置位置。
那么这是一个将configuration指向特定服务器的问题:
exec map (server-hostname) my-config
flume用户指南中有更多信息: http : //archive.cloudera.com/cdh/3/flume/UserGuide/index.html