flume是cloudera提供的乙個高可用的,高可靠的,分布式的海量日誌採集、聚合和傳輸的系統,flume支援在日誌系統中定製各類資料傳送方,用於收集資料;同時,flume提供對資料進行簡單處理,並寫到各種資料接受方(可定製)的能力。
*source負責接收events或通過特殊機制產生events,並將events批量放到乙個或多個channels。有驅動和輪詢2種型別的source。
驅動型source:是外部主動傳送資料給flume,驅動flume接受資料。*source必須至少和乙個channel關聯。輪詢source:是flume週期性主動去獲取資料。
*channel位於source和sink之間, channel的作用類似佇列,用於臨時快取進來的events,當sink成功地將events傳送到下一跳的channel或最終目的,events從channel移除。
不同的channel提供的持久化水平也是不一樣的:
memory channel:不會持久化 。*channels支援事務,提供較弱的順序保證,可以連線任何數量的source和sink。file channel: 基於wal(預寫式日誌write-ahead log)實現。
jdbc channel: 基於嵌入式database實現。
memory channel:訊息存放在記憶體中,提供高吞吐,但不提供可靠性;可能丟失資料。*sink負責將events傳輸到下一跳或最終目的,成功完成後將events從channel移除。file channel:對資料持久化;但是配置較為麻煩,需要配置資料目錄和checkpoint目錄;不同的file channel均需要配置乙個checkpoint 目錄。
jdbc channel:內建的derby資料庫,對event進行了持久化,提供高可靠性;可以取代同樣具有持久特性的file channel
*必須作用於乙個確切的channel。
Flume 知識點(六)Flume 的監控
使用 flume 實時收集日誌的過程中,儘管有事務機制保證資料不丟失,但仍然需要時刻關注 source channel sink 之間的訊息傳輸是否正常。比如,soucechannel 傳輸了多少訊息,channelsink 又傳輸了多少,兩處的訊息量是否偏差過大等等。flume 為我們提供了 mo...
大資料BigData總結筆記 三 Flume
分布式日誌收集工具 flume是一種分布式,可靠且可用的服務,用於有效地收集,聚合和移動大量日誌資料。具有基於流資料流的簡單靈活的體系結構。具有可調整的可靠性機制以及許多故障轉移和恢復機制,具有強大的功能和容錯能力。webserver agent source channel sink hdfs 事...
Flume(03) Flume採集案例
需求分析 採集需求 某伺服器的某特定目錄 export servers dirfile下,會不斷產生新的檔案,每當有新檔案出現,就需要把檔案採集到hdfs中去。需求分析 通過flume採集資料,最重要的就是配置三大元件。這裡可以通過source來監控檔案目錄。通過channel,來將source採集...