flume1.8 Channel類型介紹(四)


1. Flume Channel

Channels是events在agent上進行的存儲庫。Source添加events,Sink移除events。

1.1 Memory Channel(內存Channels)

events存儲在配置最大大小的內存隊列中。對於流量較高和由於agent故障而准備丟失數據的流程來說,這是一個理想的選擇。

agent a1示例:

1.2 JDBC Channel

events存儲在持久化存儲庫中(其背后是一個數據庫)。JDBC channel目前支持嵌入式Derby。這是一個持續的channel,對於可恢復性非常重要的流程來說是理想的選擇。

agent a1示例:

1.3 Kafka Channel

events存儲在Kafka集群中。Kafka提供高可用性和高可靠性,所以當agent或者kafka broker 崩潰時,events能馬上被其他sinks可用。

Kafka channel可以被多個場景使用:

  1. Flume source和sink - 它為events提供可靠和高可用的channel
  2. Flume source和interceptor,但是沒sink - 它允許寫Flume evnets到Kafka topic
  3. Flume sink,但是沒source - 這是一種低延遲,容錯的方式從Kafka發送events到Flume sinks 例如 HDFS, HBase或者Solr

agent a1示例:

Security and Kafka Channel:

省略...

TLS and Kafka Channel:

省略...

Kerberos and Kafka Channel:

省略...

上述詳情可以查看官網:

http://flume.apache.org/FlumeUserGuide.html#kafka-channel

或者flume1.8 使用指南學習感悟(一)、flume1.8 使用指南學習感悟(二)關於Kafka部分

http://www.cnblogs.com/swordfall/p/8095213.html  4.6.8 Kafka Source

http://www.cnblogs.com/swordfall/p/8157766.html  1.11 Kafka Sink

 1.4 File Channel

agent a1示例:

1.5 Spillable Memory Channel

events存儲在內存隊列和磁盤中。該channel目前正在試驗中,不要求在生產環境中使用。

agent a1示例:

讓內存channel隊列使用失效,功能類似file channel:

讓磁盤溢出使用失效,功能類似in-memory channel:

1.6 Pseudo Transaction Channel

注意:Pseudo Transaction Channel只用於單元測試,不用於生產環境使用。

1.7 Custom Channel

自定義channel是你實現Channel接口。當Flume agent啟動時,一個自定義channel類和它依賴項必須包含在agent的classpath。

agent a1的示例:

2. Flume Channel Selectors

如果類型沒有指定,那么默認“replicating”。

2.1 Replicating Channel Selector(default) (復制channel選擇器)

 

agent a1和它的source 為 r1:

在上面的配置中,c3是一個可選性的channel。寫event到c3出錯將會被忽略。因為c1和c2沒有標記為可選,寫到這些channels失敗將會導致事務提交失敗。

2.2 Multiplexing Channel Selector (多路復用Channel選擇器)

agent a1和它的source為r1:

2.3 Custom Channel Selector (自定義Channel選擇器)

 一個自定義channel選擇器(selector)是實現ChannelSelector的接口。當Flume agent啟動時,一個自定義channel  selector類和它依賴項必須包含在agent的classpath。

 

agent a1和它的source為r1:

 參考資料:

https://flume.apache.org/FlumeUserGuide.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM