2014-01-14 41 views
0

Apache Flume用戶指南說假脫機目錄源可能會在某些情況下複製事件。 以下是文檔中的內容: 「儘管此源的可靠性保證,但仍有一些情況可能會在發生某些下游故障時重複發生事件。」Apache Flume假脫機目錄重複事件

這些情況是什麼?特別是如果我們使用像文件通道的持久通道,我沒有看到任何重複事件發生的原因?

回答

1

您將文件通道描述爲持久。你沒有說過,只有一次交付。

Flume的保證是至少一次交付。在失敗時,批次將被重新發送。這可能會導致重複的事件。

示例:節點1正在向節點2發送事件。所有事件都會發送並且節點2會確認接收。然而。網絡條件是這樣的,消息丟失。節點2存儲了批處理,但節點1將重新發送它。因此,重複的事件。

+0

嗨,我會接受你的答案是正確的。但只有一個,如果我使用單個代理/節點,那麼我認爲不可能產生重複的事件,因爲渠道和匯以交易方式運行? – capacman

+0

寫入接收器(數據庫,HDFS)等失敗也會回滾。如果你確定水槽總是在失敗時正確回滾,那麼你可能會沒事。您也可以從客戶端回滾到可能產生重複的代理。 – Sarge