一、介绍
- Flume是一个分布式的、可靠的、高可用的海量日志采集、聚合和传输的系统
- 数据流模型:Source-Channel-Sink
- 事务机制保证消息传递的可靠性
- 内置丰富插件,轻松与其他系统集成
- Java实现,优秀的系统框架设计,模块分明,易于开发
二、详解
1. 原理图
2. 组件
【注意】一个Channel可以连接多个Source,而一个Channel却只是可以连接一个Sink。
3. 事件
【注意】上述的header类似http请求的header。一般用来传递参数,写请求地址等等。
4. sources
5. Channels
6. Sinks
三、原理图
![](https://i-blog.csdnimg.cn/blog_migrate/6e34fb84aed17e8af462fd0681103843.png)
![](https://i-blog.csdnimg.cn/blog_migrate/4c0732f36f9be6c4af30507c8f526b54.png)
四、Flume安装
1. 下载flume:wget http://archive.cloudera.com/cdh5/cdh/5/flume-ng-1.5.0-cdh5.3.6.tar.gz
2. 解压flume。
3. 修改conf/flume-env.sh文件,如果没有就新建一个
4. 添加flume的bin目录到环境变量中去。
5. 验证是否安装成功, flume-ng version