定義:Flume其實就是一個高可靠、高可用、海量數據傳輸的流式框架。
一.Flume基礎架構
Agent:是一個JVM進程,它以事件的形式將數據從源頭送至目的
Source:負責接收數據到Agent。並且處理各種類型、格式的日誌數據,主要包括Avro Source、Exec Source、Spooling Directory Source、Netcat Source等。
Channel:它是位於Source和Sink之間的緩衝區,Channel可以支持Source和Sink運行速率不同。並且可以同時處理幾個Source的寫入和Sink的寫出操作。線程也是比較安全的。
其主要包括Memory Channel 和 File Channel 以及 Kafka Channel。
★ Memory Channel 是內存中的隊列。Memory Channel 在www.baidu.com不需要關心數據丟失的情景下適 用。如果需要關心數據丟失,那麼 Memory Channel 就不應該使用,因爲程序死亡、機器宕 機或者重啓都會導致數據丟失。