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

连续发送数据时产生多个.tmp文件的Flume代理

沈俊明
2023-03-14

我有一个运行在CDH 5.8.3中的水槽代理。如果发送了3个以上的有效文件,它会在写入hdfs时创建多个.tmp文件。有一个拦截器在hdfs接收器之前将有效的xmls路由到适当的主题。这名特工正在使用弗拉夫卡。拦截器和Kafka工作正常。

agent.sinks.hdfs_valid.channel=valid_channel
agent.sinks.hdfs_valid.type=hdfs
agent.sinks.hdfs_valid.writeFormat=Text
agent.sinks.hdfs_valid.hdfs.fileType=DataStream
agent.sinks.hdfs_valid.hdfs.filePrefix=event
agent.sinks.hdfs_valid.hdfs.fileSuffix=.xml
agent.sinks.hdfs_valid.hdfs.path=locationoffile/%{time}
agent.sinks.hdfs_valid.hdfs.idleTimeout=900
agent.sinks.hdfs_valid.hdfs.rollInterval=3600
agent.sinks.hdfs_valid.hdfs.kerberosPrincipal=authentication@example.com
agent.sinks.hdfs_valid.hdfs.kerberosKeytab=locationofkeytab
agent.sinks.hdfs_valid.hdfs.rollSize=0
agent.sinks.hdfs_valid.hdfs.rollCount=0
agent.sinks.hdfs_valid.hdfs.callTimeout=100000

共有1个答案

申宜
2023-03-14

好吧,真有趣。我们的Kafka分区设置为20。当水槽从中消耗时。前10个分区正在消耗一个ip,它会打开一个. tmp。第二个10个分区正在消耗另一个ip,它会打开第二个. tmp。这似乎是水槽的内部功能。尽管打开了两个. tmp,但所有数据都正确到达。

 类似资料:
  • 我试图运行kafka生产者使用kafka-clients API。我有多个生产者与单独的线程运行,每个试图写数据到Kafka。问题是,当我增加并行运行的线程数量时,我会从kafka中得到一个中断的异常。例如,如果我并行运行20个线程,它不会引发任何异常,但当我并行运行100个线程时,我会得到以下异常: 线程“pool-910-thread-1”org.apache.kafka.common.err

  • 问题内容: 我不经常来这里寻求帮助,但是对此我感到非常沮丧,我希望有人以前遇到过它。 每当我尝试使用多个联接从表中获取记录时,都会出现此错误: 因此,此查询将产生错误: 但这不会: 而且这个也不会: 是什么原因造成的?我真的不知道如何修复tmp表,但是我真的不认为这是问题所在,因为每次都是新的tmp表。用户名表相当大(目前有233,718条记录),但我怀疑这与它有关。 任何帮助将非常感激。 更新

  • 某些HDFS接收器文件未关闭 有人说,如果接收器进程因超时条件等问题而失败,它不会再次尝试关闭文件。 我已经查看了水槽日志文件,但没有错误。然而,日志文件显示,每个周期,flume生成两个tmp文件,只关闭一个tmp。。。 对于配置的任何建议将不胜感激!谢谢!

  • 问题内容: 我正在上载脚本。 如果用户上传了一个文件并且该文件已经存在,我想警告该用户(全部通过ajax),并为他们提供替换或取消文件的选项。 我只是想将文件留在tmp中,然后在ajax响应中将路径传递回该文件,而不是移动文件。 如果用户说覆盖该ajax请求中的旧文件,则将路径传递回php,该文件将继续在该文件上工作。 为了这个工作,但是我需要知道文件在php的tmp目录中停留了多长时间 问题答案

  • 我看到了几个与此相关的问题,但不太明白我在寻找什么。我使用的是Flume 1.8.0,在Flume代理被强制终止后,我看到了.tmp文件。这些不会在水槽药剂重新启动时清理干净。有没有任何方法可以配置Flume代理来执行清理,或者这是我需要自己处理的事情(在Flume之外)? 这是我测试的水槽 conf 文件: 使用上面的conf文件启动Flume代理。在它向HDFS写入了几个文件后,使用杀-9杀死

  • 我试图在循环中加载一个数据文件(以检查统计数据),而不是在Kafka中的标准输入。下载Kafka后,我执行了以下步骤: 启动动物园管理员: