2016-01-21 17 views
5

我正在使用带有后台打印目录的Flume作为源,HDFS作为宿和文件作为通道。执行水槽作业时。我遇到了以下问题。内存通道工作正常。但我们需要使用文件通道来实现相同的功能。使用文件通道我得到以下问题。使用文件通道在水槽中耗尽的空间可用空间

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

2016年1月20日20:05:27,099错误[SinkRunner-PollingRunner-DefaultSinkProcessor](org.apache.flume.SinkRunner $ PollingRunner.run:160) - 无法传递事件。异常如下。 java.lang.IllegalStateException:通道关闭[channel = Artiva-memory-channel]。由于java.io.IOException:可用空间耗尽,只剩下427515904字节,需要524288000字节

回答

1

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

+0

嗨..感谢您的回复......我已经给出minimumRequiredSpace = 524288000 ...但我仍然得到相同的问题... –

+1

因为你想配置524288000字节的配置失败。您发布的日志表示在磁盘中只有427515904个字节可用。因此,您必须配置427515904字节或更少的字符才能工作。 – frb

+0

@frb我得到java.io.IOException:可用空间耗尽,只剩下0字节,需要524288000字节。错误说剩余的0字节,但是我控制的文件夹上有777个特权,并且有很大的空间。我该如何解决? – neverwinter