0

我一直在试验flume ng(flume-ng-1.2.0+24.81-1~lucid),一直在比较内存通道和文件通道的性能。

我的测试系统中的每个事件的大小为 1KB,在我当前的配置下,我能够使用内存通道处理大约 30,000 EPS。但是,当使用文件通道时,我只能处理大约 1600 EPS。

平均而言,我希望在我的生产系统上平均接收 2500 EPS,并且我想使用文件通道在接收器故障的情况下提供大约 1 小时的事件缓冲(我正在使用具有 1Gbps 连接的 HDFS 接收器到hadoop集群)。

这是我的文件通道配置:

agent.channels.c1.checkpointDir = ~/.flume/file-channel/checkpoint
agent.channels.c1.dataDirs = ~/.flume/file-channel/data
agent.channels.c1.transactionCapacity = 13107200
agent.channels.c1.checkpointInterval = 30000
agent.channels.c1.maxFileSize = 9216000000
agent.channels.c1.minimumRequiredSpace = 524288000
agent.channels.c1.capacity = 9000000
agent.channels.c1.keep-alive = 3
agent.channels.c1.write-timeout = 3
agent.channels.c1.checkpoint-timeout = 600
agent.channels.c1.use-log-replay-v1 = FALSE
agent.channels.c1.use-fast-replay = FALSE

我的 HDFS 接收器的批量大小已设置为 5000。

任何人都可以就如何提高文件通道的性能提出任何建议吗?

谢谢

4

1 回答 1

0

1.2.0 版奇怪。当前的发布版本是 1.3.1。

也就是说,trunk 是 1.4.0-SNAPSHOT 并且 ~ 可能 ~ 会在 6 月底发布。我相信 FileChannel 在那个时候有一些更新,所以你可能想使用它的构建重新测试。(mvn install -Dmaven.test.skip=true是你的朋友)。

其次,您是否考虑过将 checkpointDir 和 dataDirs 指向它们自己的磁盘?

于 2013-05-23T17:14:26.963 回答