目录
- 一、Flume概述
- 1.1 Flume定义
- 1.2 Flume基础架构
- 二、Flume安装部署
一、Flume概述
1.1 Flume定义
- Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。
- Flume基于流式架构,灵活简单。
1.2 Flume基础架构
- Source:是负责接收数据到Flume Agent的组件(读数据 对接数据源头)
- Sink:对接数据的去向 它不断地轮询Channel中的事件且批量地移除它们,并将这些事件批量写入到存储或索引系统、或者被发送到另一个Flume Agent。
- Channel:为了解决Source和Sink的传输速率不一致的问题 它是位于Source和Sink之间的缓冲区 Channel是线程安全的 可以同时处理几个Source的写入操作和几个Sink的读取操作
- Agent:启动Flume实际上就是启动一个Agent 它是一个JVM进程(上面三个组件都是Java写的)
- Event事件对象:Flume数据传输的基本单元 假如Source采集了100条日志数据 它就会把他们封装成100个Event对象 每个对象由Header(map结构 k,v) Body(存放数据编码后的字节数组)组成
二、Flume安装部署
上传tar包
解包
为了方便使用 改个名
配置环境变量
删除guava包 防止和Hadoop冲突
Hadoop中确实有这个包
- flume不需要分发 在哪台服务器采集数据 就在那台服务器安装一个flume就行
- 然后在任意位置输入flume 看看能不能table出flume-ng