Fulme是什麼
官網地址
是什麼
分佈式非結構化數據(日誌)收集系統,提供收集、移動、聚合大量日誌數據的服務
Flume架構
Flume NG核心概念Agent
Agent之Source
- 負責接受Event
- 包含Event驅動和輪詢2種類型
- 常見類型的Source
與系統集成的Source: Syslog, Netcat
自動生成事件的Source: Exec
監聽文件夾下文件變化:Spooling Directory Source,Taildir Source
用於Agent和Agent之間通信的IPC Source: Avro、Thrift
Agent之Channel
- Channel位於Source和Sink之間,用於緩存event
- 當Sink成功將event發送到下一跳的channel或最終目的,event從Channel移除
- Channel支持事務,提供較弱的順序保證
Agent之Sink
- Sink負責將event傳輸到下一跳或最終目的,成功完 成後將event從channel移除
- 常見類型的Sink
存儲event到最終目的的終端Sink. 比如: HDFS, HBase
自動消耗的Sink. 比如: Null Sink
用於Agent間通信的IPC sink: Avro - 必須作用於一個確切的channel
在配置sink的channel的時候是:a1.sinks.s1.channel=c1 (是channel,而不是channels)
實例
安裝Flume
- 下載並解壓
- 配置環境變量
- [flume-ng version]驗證是否安裝成功
HelloWorld
- 進入Flume的conf目錄
- 生成並編輯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
- 運行
../bin/flume-ng agent -f ./hello.conf -n a1 -Dflume.root.logger=INFO,console
4.nc打開並輸入
nc localhost 7777