1

该页面https://cwiki.apache.org/confluence/display/FLUME/Getting+Started说 HDFS 接收器支持附加,但我无法找到有关如何启用它的任何信息,每个示例都在滚动文件上。因此,如果可能的话,我将不胜感激有关如何使水槽附加到现有文件的任何信息)

更新

可以将所有滚动属性设置为 0,这将使水槽写入单个文件,但它不会关闭文件并且新记录对其他进程不可见。有一个类似于我的话题:Flume NG and HDFS,Dmitry 说 Flume 不支持追加,但答案是一年前,文档说相反,所以我认为可能是水槽得到了改进,或者我误解了一些东西,任何线索将不胜感激。

更新

我意识到这个问题还不清楚,所以让我来描述一下我想要实现的目标:我希望将日志写入一个文件,并且我希望能够在它们被摄取到 hdfs 后立即读取它们。目前我正在使用 Cloudera Impala 执行搜索查询,即使 Flume 配置为立即将它们刷新到磁盘上,它也看不到新事件,至少我是这样认为的。我的调查表明,通常人们将 HBase 用于这些目的,但据我了解,除非使用像 Solr 这样的外部索引,否则它对临时搜索查询无效。问题是我需要尽快找到解决方案,所以我希望它可以更容易完成,例如 Fluentd 可以附加到现有文件,但它只适用于纯文本文件,我更喜欢一些二进制格式。

4

1 回答 1

1

我还没有找到让 Flume 做我想做的事情的方法,所以最终我决定使用 Cloudera Search 进行日志流式传输,特别是 Solr 用于摄取和检索。看起来 Flume 在不创建大量相对较小的文件的情况下没有实时摄取 hdfs 的能力,希望他们将来修复它。

于 2014-09-15T13:34:21.080 回答