1. 什麼是 Flume

Apache Flume (https://flume.apache.org/) 是一套由cloudera 推出的自由軟體,其可以想做是一套Extract - Load 系統,能收集日誌、事件、檔案等資料,並將這些資料按照定義的描述,流向到指定的目的端,而目的端可以是資料庫、硬碟目錄位址、hdfs檔案系統等。

特色

  • 流程設定簡單
  • 可分流
  • 可靠度、容錯度高

2. 架構

Flume 很簡單,只分三種元件

  • source:從資料發生處接收資料,並以flume的event 傳給一或多個通道,接收的方式有 Avro, Thrift, 資料夾, Netcat, syslog 等。
  • channel: channel 是短暫的儲存佇列queue,,從source端收到event到sink接收完成的這段時間,都發生在channel 裡。因此若queue為memory,則擁有高的效能,而queue為file,則可保持資料在這傳輸的暫態中不失。
  • sink :將channel 傳來的資料傳遞到目的地。目的地可以是某個sink type ,也可以是另一段開始的source。

以下列出source , channel sink 支援的 資料形態

3. 使用場景

下圖為透過 flume,將apache web server 的log 傳送到hdfs 的流程

下圖為透過 flume agent "foo",將某資料分成三份: hdfs , JMS, 以及串到另一個flume agent "bar"的流程。

4. 詳細資源

官方網站

https://flume.apache.org/

使用手冊

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

results matching ""

    No results matching ""