该页面https://cwiki.apache.org/confluence/display/FLUME/Getting+Started说 HDFS 接收器支持附加,但我无法找到有关如何启用它的任何信息,每个示例都在滚动文件上。因此,如果可能的话,我将不胜感激有关如何使水槽附加到现有文件的任何信息)
更新
可以将所有滚动属性设置为 0,这将使水槽写入单个文件,但它不会关闭文件并且新记录对其他进程不可见。有一个类似于我的话题:Flume NG and HDFS,Dmitry 说 Flume 不支持追加,但答案是一年前,文档说相反,所以我认为可能是水槽得到了改进,或者我误解了一些东西,任何线索将不胜感激。
更新
我意识到这个问题还不清楚,所以让我来描述一下我想要实现的目标:我希望将日志写入一个文件,并且我希望能够在它们被摄取到 hdfs 后立即读取它们。目前我正在使用 Cloudera Impala 执行搜索查询,即使 Flume 配置为立即将它们刷新到磁盘上,它也看不到新事件,至少我是这样认为的。我的调查表明,通常人们将 HBase 用于这些目的,但据我了解,除非使用像 Solr 这样的外部索引,否则它对临时搜索查询无效。问题是我需要尽快找到解决方案,所以我希望它可以更容易完成,例如 Fluentd 可以附加到现有文件,但它只适用于纯文本文件,我更喜欢一些二进制格式。