Flume入門

Fulme是什麼

官網地址

http://flume.apache.org/

是什麼

分佈式非結構化數據(日誌)收集系統,提供收集、移動、聚合大量日誌數據的服務

Flume架構

image

Flume NG核心概念Agent

Agent之Source

  1. 負責接受Event
  2. 包含Event驅動和輪詢2種類型
  3. 常見類型的Source

與系統集成的Source: Syslog, Netcat
自動生成事件的Source: Exec
監聽文件夾下文件變化:Spooling Directory Source,Taildir Source
用於Agent和Agent之間通信的IPC Source: Avro、Thrift

Agent之Channel

  1. Channel位於Source和Sink之間,用於緩存event
  2. 當Sink成功將event發送到下一跳的channel或最終目的,event從Channel移除
  3. Channel支持事務,提供較弱的順序保證

Agent之Sink

  1. Sink負責將event傳輸到下一跳或最終目的,成功完 成後將event從channel移除
  2. 常見類型的Sink
    存儲event到最終目的的終端Sink. 比如: HDFS, HBase
    自動消耗的Sink. 比如: Null Sink
    用於Agent間通信的IPC sink: Avro
  3. 必須作用於一個確切的channel

在配置sink的channel的時候是:a1.sinks.s1.channel=c1 (是channel,而不是channels)

實例

安裝Flume

  1. 下載並解壓
  2. 配置環境變量
  3. [flume-ng version]驗證是否安裝成功

HelloWorld

  1. 進入Flume的conf目錄
  2. 生成並編輯hello.conf
a1.sources=r1
a1.channels=c1
a1.sinks=s1
a1.sources.r1.type=netcat
a1.sources.r1.bind=localhost
a1.sources.r1.port=7777
a1.sinks.s1.type=logger
a1.channels.c1.type=memory
a1.sources.r1.channels=c1
a1.sinks.s1.channel=c1
  1. 運行
../bin/flume-ng agent -f ./hello.conf -n a1 -Dflume.root.logger=INFO,console

4.nc打開並輸入

nc localhost 7777
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章