本文介绍Flume监听端口采集数据流到Kafka
我还写了一篇文章是Flume监听本地文件采集数据流到HDFS【点击即可跳转,写的也非常详细】
任务一:实时数据采集
前摘:
Flume
- 是一种分布式、高可靠、高可用的数据收集系统,用于高效地从多个源收集、聚合和传输大量日志数据。
- Flume的设计目标是用于构建高度可扩展的日志收集解决方案,它能够从多种数据源中捕获数据,并将数据送到指定的目的地,例如HDFS或Kafka。
- Flume的核心是由agent组成的,每个agent内部包含三个主要的组件:source、channel和sink。
Source组件负责从数据源捕获数据
sink则负责将数据写入到最终的目标存储中,如HDFS或Kafka。
Channel组件作为临时存储,用于缓冲source和sink之间的数据
- 重点:因为source的收集速度和sink的存储速度不一样
kafka
- 是一个分布式消息系统,主要用于处理和传输大规模数据流。
- 具有高吞吐、可持久化、可水平扩展等特点,非常适合大数据实时处理领域。
- Kafka不仅能够作为消息队列使用,提供消息的传输和存储功能,还能作为流式处理平台的源头,为诸如Storm、Spark Streaming等流式处理框架提供稳定的数据来源。
- Kafka中的数据以主题(Topic)为单位进行归类。生产者(Producer)负责创建消息并将其发送到特定的主题。消费者(Consumer)则从主题订阅并接收消息进行进一步的处理。