当前位置: 首页 > 知识库问答 >
问题:

水槽HDFS-200追加

公羊俊德
2023-03-14

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

使现代化

可以将所有滚动属性设置为0,这将使flume写入单个文件,但它不会关闭文件,新记录对其他进程不可见。有一个主题和我的相似:Flume NG和HDFS,Dmitry说Flume不支持追加,但答案是一年前的,文档说相反,所以我想也许Flume得到了改进或我误解了什么,任何线索都将受到感谢。

使现代化

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

共有1个答案

蓬思博
2023-03-14

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

 类似资料:
  • 我想使用 flume 将数据从 hdfs 目录传输到 hdfs 中的目录,在此传输中,我想应用处理形态线。 例如:我的来源是 我的水槽是 有水槽可能吗? 如果是,源水槽的类型是什么?

  • 我们可以为HDFS Sink添加分隔符吗?写入文件时,我们如何添加记录分隔符? 以下是配置:-

  • 我正在尝试使用hdfs水槽运行水槽。hdfs在不同的机器上正常运行,我甚至可以与水槽机器上的hdfs交互,但是当我运行水槽并向其发送事件时,我收到以下错误: 同样,一致性不是问题,因为我可以使用hadoop命令行与hdfs交互(水槽机不是datanode)。最奇怪的是,在杀死水槽后,我可以看到tmp文件是在hdfs中创建的,但它是空的(扩展名仍然是. tmp)。 关于为什么会发生这种情况的任何想法

  • 我遇到了Flume的问题(Cloudera CDH 5.3上的1.5): 我想做的是:每5分钟,大约20个文件被推送到假脱机目录(从远程存储中抓取)。每个文件包含多行,每行是一个日志(在JSON中)。文件大小在10KB到1MB之间。 当我启动代理时,所有文件都被成功推送到HDFS。1分钟后(这是我在flume.conf中设置的),文件被滚动(删除. tmp后缀并关闭)。 但是,当在假脱机目录中找到

  • 我是使用Flume和Hadoop的新手,所以我试图尽可能设置一个最简单的(但有些帮助/现实的)例子。我在虚拟机客户端中使用HortonWorks沙盒。在完成了教程12(包括设置和使用Flume)之后,一切看起来都正常了。 所以我建立了自己的flume.conf 从apache访问日志中读取 使用内存通道 写入HDFS 够简单吧?这是我的会议文件 我见过几个人在给HDFS写信时遇到问题,大多数情况下

  • 我试图将FLUME与HDFS集成,我的FLUME配置文件是 我的核心站点文件是 当我尝试运行flume代理时,它正在启动,并且能够从nc命令中读取,但是在写入hdfs时,我得到了下面的异常。我尝试使用< code > Hadoop DFS admin-safe mode leave 在安全模式下启动,但仍然出现以下异常。 如果在任何属性文件中配置了错误,请告诉我,以便它可以工作。 另外,如果我为此