你好,欢迎来到第 30 课时,本课时我们主要讲解“Flume 和 Kafka 整合和部署”的学习。
Flume 概述
Flume 是 Hadoop 生态圈子中的一个重要组件,在上一课时中提过,它是一个分布式的、高可靠的、高可用的日志采集工具。
Flume 具有基于流式数据的简单灵活的架构,同时兼具高可靠性、高可用机制和故障转移机制。当我们使用 Flume 收集数据的速度超过下游的写入速度时,Flume 会自动做调整,使得数据的采集和推送能够平稳进行。
Flume 支持多路径采集、多管道数据接入和多管道数据输出。数据源可以是 HBase、HDFS 和文本文件,也可以是 Kafka 或者其他的 Flume 客户端。
Flume 的组件介绍
Flume 中有很多组件和概念,下面我把 Flume 中的核心组件一一进行介绍:
- Client:客户端,用来运行 Flume Agent。
- Event:Flume 中的数据单位,可以是一行日志、一条消息。
- Agent:代表一个独立的 Flume 进程,包含三个组件:Source、Channel 和 Sink。
- Source:数据的收集入口,用来获取 Event 并且传递给 Channel。
- Channel:Event 的一个临时存储,是数据的临时通道,可以认为是一个队列。
- Sink:从 Channe