Flume数据源与数据接收端的了解

1.Flume官方文档

https://flume.apache.org/releases/content/1.11.0/FlumeUserGuide.html#data-flow-model

2.Flume的配置主体框架

cpp 复制代码
# example.conf:单节点 Flume 配置
# 1. 声明框架组件
# 将此代理上的组件命名为
# 数据源r1
a1.sources  =  r1 
# 数据终点k1
a1.sinks  =  k1 
#channel通道c1
a1.channels  =  c1

# 描述/配置源
a1.sources.r1.type  =  netcat 
a1.sources.r1.bind  =  localhost 
a1.sources.r1.port  =  44444

# 描述接收器
a1.sinks.k1.type  =  logger

# 使用在内存中缓冲事件的通道
a1.channels.c1.type  = 内存
a1.channels.c1.capacity  =  1000 
a1.channels.c1.transactionCapacity  =  100

# 将源和接收器绑定到通道
a1.sources.r1.channels  =  c1 
a1.sinks.k1.channel  =  c1

3.数据源Source介绍

1.taildir Source

监听文件,支持断点续传和多目录,但是可能导致重复数据,不能监控二进制数据

2.kafka Source

cpp 复制代码
tier1.sources.source1.type = org.apache.flume.source.kafka.KafkaSource
tier1.sources.source1.channels = channel1
# 批量写入Channel的最大消息条数
tier1.sources.source1.batchSize = 5000
tier1.sources.source1.batchDurationMillis = 2000
# broker列表 
tier1.sources.source1.kafka.bootstrap.servers = localhost:9092
# Kafka消费的主题 逗号隔开
tier1.sources.source1.kafka.topics = test1, test2
# groupId 消费者组的ID,
# 同一消费者组不能同时消费一个分区,Kafka的知识
tier1.sources.source1.kafka.consumer.group.id = custom.g.id

4.数据接收端Sink

1.HDFS Source

cpp 复制代码
a1.channels  =  c1 
a1.sinks  =  k1 
a1.sinks.k1.type  =  hdfs 
a1.sinks.k1.channel  =  c1 

# path HDFS文件存储路径
# 样例 hdfs://namenode/flume/webdata/
a1.sinks.k1.hdfs.path  =  /flume/events/%Y-%m-% d/%H%M/%S 
# filePrefix 文件名前缀
a1.sinks.k1.hdfs.filePrefix  = 事件- 
a1.sinks.k1.hdfs.round  =  true 
a1.sinks.k1.hdfs.roundValue  =  10 
# rollInterval   滚动文件间隔时间,其实就是多久产生一个新文件
a1.sinks.k1.hdfs.rollInterval  =  30
# 滚动文件间隔时间的统计粒度
a1.sinks.k1.hdfs .roundUnit  = 分钟
# 1024字节 
# HDFS的128M是134,217,728字节 滚动文件的大小
a1.sinks.k1.hdfs.rollInterval.hdfs.rollSize = 1024
# 滚动信息数量 可以通过设置
a1.sinks.k1.hdfs.rollInterval.hdfs.rollCount = 10

2. Kafka Source

cpp 复制代码
a1.sinks.k1.channel = c1
a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink
a1.sinks.k1.kafka.topic = mytopic
# 逗号间隔
a1.sinks.k1.kafka.bootstrap.servers = localhost:9092
a1.sinks.k1.kafka.flumeBatchSize = 20
# ack机制 1为主机确定收到即可,-1为全部收到 0为只发送
a1.sinks.k1.kafka.producer.acks = 1
a1.sinks.k1.kafka.producer.linger.ms = 1
# 压缩格式看Kafka支持什么
a1.sinks.k1.kafka.producer.compression.type = snappy
相关推荐
青岛前景互联信息技术有限公司11 小时前
OpenClaw 重构智慧消防:AI时代的平台融合实践
大数据·人工智能
梦梦代码精11 小时前
BuildingAI 上部署自定义工作流智能体:5 个实用技巧
大数据·人工智能·算法·开源软件
极客老王说Agent11 小时前
2026智造前瞻:实在Agent生产排期智能助理核心功能与使用方法详解
大数据·人工智能·ai·chatgpt
数智化精益手记局13 小时前
什么是设备维护管理?设备维护管理包含哪些内容?
大数据·网络·人工智能·安全·信息可视化
AllData公司负责人13 小时前
通过Postgresql同步到Doris,全视角演示AllData数据中台核心功能效果,涵盖:数据入湖仓,数据同步,数据处理,数据服务,BI可视化驾驶舱
java·大数据·数据库·数据仓库·人工智能·python·postgresql
桃花键神14 小时前
Bright Data Web Scraping指南 2026: 使用 MCP + Dify 自动采集海外社交媒体数据
大数据·前端·人工智能
程序鉴定师16 小时前
西安App开发推荐与业界认可的优秀实践
大数据·小程序
workflower17 小时前
从拿订单到看方向
大数据·人工智能·设计模式·机器人·动态规划
CableTech_SQH17 小时前
F5G 全光网,赋能智慧校园数字化建设
大数据·网络·5g·运维开发·信息与通信
goyeer18 小时前
【ITIL4】- 服务价值体系
大数据·运维·信息化·自动运维·itil