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

使用文件通道在水槽中耗尽可用空间

尚嘉庆
2023-03-14

我正在使用Spool Directory作为源,HDFS作为接收器,文件作为通道。当执行水槽作业时。我得到了以下问题。内存通道工作正常。但是我们需要使用文件通道实现相同的功能。使用文件通道我得到了以下问题。

我已经在flume.env中将JVM内存大小配置为3GB。sh文件。请让我知道我们需要做的任何其他设置。

2016年1月20日20:05:27099错误[SinkRunnerPollingRunnerDefaultSinkProcessor](org.apache.flume.SinkRunner$PollingRanner.run:160)-无法传递事件。例外情况随之而来。java.lang.IllegalStateException:通道已关闭[通道=Artiva内存通道]。由于java.io。IOException:可用空间已耗尽,仅剩下427515904字节,需要524288000字节

共有2个答案

郎磊
2023-03-14

错误信息是关于内存通道的。参见“通道关闭[Channel = Artiva-memory-Channel]”。< br >检查哪个频道被分配给有问题的HDFS接收器。它位于flume.conf文件中,类似于:agent _ name . sinks . HDFS _ sink _ name . channel

符功
2023-03-14

文件通道与内存无关,但与HDD(磁盘)有关。此类通道使用文件系统来存储数据。因此,请检查写入检查点文件和数据文件的磁盘中有多少可用空间(请查看 FileChannel 参数)。

 类似资料:
  • 我有一个看似简单的水槽配置,却给我带来了很多问题。让我先描述一下问题,然后列出配置文件。 我有 3 台服务器:服务器 1、服务器 2、服务器 3。 Server1:Netcat源代码/S Server2,3:Avro源内存通道Kafka接收器 在我的模拟中,服务器2模拟“生产”,因此不会出现任何数据丢失,而服务器3模拟“开发”,数据丢失是正常的。我的假设是,使用2个通道和2个源将使两个服务器相互解

  • 当hdfs不可用时,是否有方法确保数据安全?场景是:kafka源,flume内存通道,hdfs接收器。如果水槽服务关闭了,它是否可以存储主题分区的偏移量,并在恢复后从正确的位置消费?

  • 我试图建立flume,这样每个代理可以有多个接收器,最终有多个通道和源(现在只看多个通道)。我有一个类似这样的配置文件和一个ruby模板。我不知道如何将功能添加到模板文件中,以便每个代理可以将一个事件发送到多个通道

  • 我尝试每5分钟用其他事件刷新. tmp文件,我的源代码很慢,需要30分钟才能在我的hdfs接收器中获取128MB文件。 flume hdfs接收器中是否有任何属性,我可以在将.tmp文件滚动到hdfs之前控制该文件的刷新率。 我需要它使用. tmp文件中的hive表查看HDFS中的数据。 目前我正在查看来自的数据。tmp文件,但是。由于卷大小为128MB,tmp文件长时间不刷新。

  • 现在我正在一个项目中工作,我们试图使用 flume 读取 tomcat 访问日志并在 Spark 中处理这些数据并以正确的格式将它们转储到数据库中。但问题是tomcat访问日志文件是每日滚动文件,文件名每天都会更改。像... 源代码部分的flume-conf文件如下 它在一个固定的文件名上运行tail命令(我使用了固定的文件名,只是为了测试)。如何在flume conf文件中将文件名作为参数传递?

  • 我想使用水槽代理并根据定义的函数拆分身体的数据,并将身体数据的一部分发送到一个接收器,另一部分发送到另一个接收器。 我是否需要为此实现自定义拦截器,或者是否有我错过阅读Flume用户指南的默认解决方案?