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