1.什么是Flume
- FLUME 是HADOOP生态圈中的一个组件。主要应用于实时数据的流处理,比如一旦有某事件触发(如本地交易引起的数据改动)可以将实时的日志数据发向HADOOP文件系统HDFS中
- FLUME 可以将数量庞大的数据从各项数据资源中集中起来存储的工具/服务,或者数集中机制。所以它还有较强的缓存作用.
- Flume具有较高的容错性。例如当收集数据的速度超过将写入数据的时候,即超过了系统的写入数据能力的时候,Flume会在数据生产者和数据收容器间做出调整,保证其能够在两者之间提供可推送的平稳数据
- FLUME支持多路径流量,多管道接入流量,多管道接出流量。例如FLUME的数据发出源及目的地可以是不同类别的比如社交媒体, 关系型数据库HBASE HDFS 前端控制台也可以是其他流工具如SPARK STREAM,Kafka,甚至其它的FLUME
- 用一个故事理解: 有一个池子,它一头进水,另一头出水,进水口可以配置各种管子,出水口也可以配置各种管子,可以有多个进水口、多个出水口。水术语称为Event,进水口术语称为Source、出水口术语成为Sink、池子术语成为Channel,Source+Channel+Sink,术语称为Agent。如果有需要,还可以把多个Agent连起来。
- FLUME AGENT的内部架构
2.环境搭建
- 官网下载地址(apache-flume-1.8.0-bin.tar.gz):http://flume.apache.org/download.html
- 解压:
tar zxf apache-flume-1.8.0-bin.tar.gz
- 修改配置文件: