Flume Channel配置

Memory Channel

事件將被存儲在內存中的具有指定大小的隊列中。特點是速度快,但斷電丟失數據。非常適合那些需要高吞吐量但是可以容忍極端情況下會丟失數據的場景下。

a1.channels.c1.type = memory(組件的類型,必須配置爲memory)

JDBC Channel

事件被持久存儲在可靠的數據庫中。提供較好的效率和可靠性可恢復性。目前支持嵌入式的Derby數據庫。

a1.channels.c1.type = memory(組件的類型,必須配置爲jdbc)

a1.channels.c1.db.type = DERBY(數據庫的類型,必須設置爲DERBY, 目前只支持DERBY)

File Channel

事件將被存儲在磁盤中的文件中。特點是速度慢,但斷電不會丟失數據。非常適合那些需要高可靠性 可恢復,但性能要求不高的場景。

a1.channels.c1.type = file(組件的類型,必須配置爲file)

 

Spillable Memory Channel

可溢寫的內存通道。

需要同時配置內存和磁盤,優先內存來實現通道,在突發的大量數據到來時,內存通道被佔滿,此時會將多出來的數據溢寫到磁盤中,保證不會丟失數據。

相當於結合了內存通道和文件通道的優點,平常可以基於內存提供良好的效率,在數據突增時,可以啓用文件,這樣即使性能有下降,但不至於失敗。

注意:這個通道,官方不建議用在生產環境下

a1.channels.c1.type = SPILLABLEMEMORY(組件的類型,必須配置爲SPILLABLEMEMORY)

Custom Channel

如果以上內置的Channel都不能滿足需求,可以自己開發Channel.按照Flume要是寫一個類實現相應接口。

將類打成jar放置到flume的lib目錄下。在配置文件中通過類的全路徑名加載Channel。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章