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 再次可以把父...