2014-01-14 39 views
0

Apache Flume用户指南说假脱机目录源可能会在某些情况下复制事件。 以下是文档中的内容: “尽管此源的可靠性保证,但仍有一些情况可能会在发生某些下游故障时重复发生事件。”Apache Flume假脱机目录重复事件

这些情况是什么?特别是如果我们使用像文件通道的持久通道,我没有看到任何重复事件发生的原因?

回答

1

您将文件通道描述为持久。你没有说过,只有一次交付。

Flume的保证是至少一次交付。在失败时,批次将被重新发送。这可能会导致重复的事件。

示例:节点1正在向节点2发送事件。所有事件都会发送并且节点2会确认接收。然而。网络条件是这样的,消息丢失。节点2存储了批处理,但节点1将重新发送它。因此,重复的事件。

+0

嗨,我会接受你的答案是正确的。但只有一个,如果我使用单个代理/节点,那么我认为不可能产生重复的事件,因为渠道和汇以交易方式运行? – capacman

+0

写入接收器(数据库,HDFS)等失败也会回滚。如果你确定水槽总是在失败时正确回滚,那么你可能会没事。您也可以从客户端回滚到可能产生重复的代理。 – Sarge