flume1 8 Channel型別介紹(四)

2021-09-24 14:21:17 字數 2280 閱讀 8935

channels是events在agent上進行的儲存庫。source新增events,sink移除events。

events儲存在配置最大大小的記憶體佇列中。對於流量較高和由於agent故障而準備丟失資料的流程來說,這是乙個理想的選擇。

agent a1示例:

events儲存在持久化儲存庫中(其背後是乙個資料庫)。jdbc channel目前支援嵌入式derby。這是乙個持續的channel,對於可恢復性非常重要的流程來說是理想的選擇。

agent a1示例:

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

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

flume source和sink - 它為events提供可靠和高可用的channel

flume source和interceptor,但是沒sink - 它允許寫flume evnets到kafka topic

flume sink,但是沒source - 這是一種低延遲,容錯的方式從kafka傳送events到flume sinks 例如 hdfs, hbase或者solr

agent a1示例:

省略...

tls and kafka channel:

省略...

kerberos and kafka channel:

省略...

上述詳情可以檢視官網:

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

agent a1示例:

events儲存在記憶體佇列和磁碟中。該channel目前正在試驗中,不要求在生產環境中使用。

agent a1示例:

讓記憶體channel佇列使用失效,功能類似file channel:

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

注意:pseudo transaction channel只用於單元測試,不用於生產環境使用。

自定義channel是你實現channel介面。當flume agent啟動時,乙個自定義channel類和它依賴項必須包含在agent的classpath。

agent a1的示例:

如果型別沒有指定,那麼預設「replicating」。

agent a1和它的source 為 r1:

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

agent a1和它的source為r1:

乙個自定義channel選擇器(selector)是實現channelselector的介面。當flume agent啟動時,乙個自定義channel  selector類和它依賴項必須包含在agent的classpath。

agent a1和它的source為r1:

Flume之 File型別的Channel

允許所有的資料儲存在硬碟中。好處 資料永遠不丟失。壞處 因為使用磁碟的儲存方式會頻繁的發生磁碟i o,所以會極大的降低flume的吞吐量。配置項說明 type file datadirs 資料存放的目錄,可以使用多個,多目錄之間使用逗號分割即可。1.在job 檔案下建立新檔案file.templat...

18 StringBuilder類 包裝類

string類的字串是常量,它們的值在建立之後就不能修改,如果進行字串的相加,記憶體中就會有大量的字串,占用空間多,效率低 stringbuilder類的字串緩衝區,底層也是乙個陣列,但是沒有final,內容可以改變,這個陣列的初始長度為16,如果超出了會自動擴充 構造方法 無參構造 stringb...

類與類之間的關係 18

類與類之間的關係 大千世界,萬物之間皆有規則和規律.一 依賴關係 解耦 最輕微的一種關係 在方法中引入另乙個類的物件 打車 二 關聯關係 類與類之間的關係是比較緊密的.self.x 三 組合關係 四 聚合關係 五 繼承關係 self 當前執行這個方法的物件 x是一種y,那x就可以繼承y 再次可以把父...