Kafka集成flume

1.flume作为生产者集成Kafka

kafka作为flume的sink,扮演消费者角色

1.1 flume配置文件

vim $kafka/jobs/flume-kafka.conf

bash 复制代码
# agent
a1.sources = r1
a1.sinks = k1
a1.channels = c1 c2

# Describe/configure the source
a1.sources.r1.type = TAILDIR
#记录最后监控文件的断点的文件,此文件位置可不改
a1.sources.r1.positionFile =  /export/server/flume/job/data/tail_dir.json
a1.sources.r1.filegroups = f1 f2
a1.sources.r1.filegroups.f1 = /export/server/flume/job/data/.*file.*
a1.sources.r1.filegroups.f2 =/export/server/flume/job/data/.*log.*

# Describe the sink
a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink
a1.sinks.k1.kafka.topic = customers
a1.sinks.k1.kafka.bootstrap.servers =node1:9092,node2:9092
a1.sinks.k1.kafka.flumeBatchSize = 20
a1.sinks.k1.kafka.producer.acks = 1
a1.sinks.k1.kafka.producer.linger.ms = 1
a1.sinks.k1.kafka.producer.compression.type = snappy


# Use a channel which buffers events in memory
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100

# Bind the source and sink to the channel
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

1.2开启flume监控

flume-ng agent -n a1 -c conf/ -f /export/server/kafka/jobs/kafka-flume.conf

1.3开启Kafka消费者

kafka-console-consumer.sh --bootstrap-server node1:9092,node2:9092 --topic consumers --from-beginning

1.4生产数据

往被监控文件输入数据

ljr@node1 data\]$echo hello \>\>file2.txt \[ljr@node1 data\]$ echo ============== \>\>file2.txt 查看Kafka消费者 ![](https://img-blog.csdnimg.cn/direct/754950995683442593335d088d65a239.png) 可见Kafka集成flume生产者成功。 ### 2.flume作为消费者集成Kafka kafka作为flume的source,扮演生产者角色 #### 2.1flume配置文件 vim $kafka/jobs/flume-kafka.conf ```bash # agent a1.sources = r1 a1.sinks = k1 a1.channels = c1 # Describe/configure the source a1.sources.r1.type = org.apache.flume.source.kafka.KafkaSource #注意不要大于channel transactionCapacity的值100 a1.sources.r1.batchSize = 50 a1.sources.r1.batchDurationMillis = 200 a1.sources.r1.kafka.bootstrap.servers =node1:9092, node1:9092 a1.sources.r1.kafka.topics = consumers a1.sources.r1.kafka.consumer.group.id = custom.g.id # Describe the sink a1.sinks.k1.type = logger # Use a channel which buffers events in memory a1.channels.c1.type = memory a1.channels.c1.capacity = 1000 #注意transactionCapacity的值不要小于sources batchSize的值50 a1.channels.c1.transactionCapacity = 100 # Bind the source and sink to the channel a1.sources.r1.channels = c1 a1.sinks.k1.channel = c1 ``` #### 2.2开启flume监控 flume-ng agent -n a1 -c conf/ -f /export/server/kafka/jobs/kafka-flume1.conf #### 2.3开启Kafka生产者并生产数据 kafka-console-producer.sh --bootstrap-server node1:9092,node2:9092 --topic consumers ![](https://img-blog.csdnimg.cn/direct/f4b9a37f761b411882d53fe141864136.png) 查看flume监控台 ![](https://img-blog.csdnimg.cn/direct/16b931bcd36445eb885dde1a8068d1f0.png) 可见Kafka集成flume消费者成功。

相关推荐
宇之广曜3 小时前
从 MQ 到 Celery:把异步任务、状态表、重试补偿和 Outbox 一次讲清楚
kafka·rabbitmq
苍煜3 小时前
Kafka消息零丢失核心全解:生产者acks机制+消费者offset机制
分布式·kafka
敖正炀9 小时前
Kafka 安全机制:SASL 认证、SSL 加密与 ACL 授权
kafka
敖正炀11 小时前
Kafka 特性全景与选型指南
kafka
何中应13 小时前
RabbitMQ集群搭建
分布式·rabbitmq
薪火铺子13 小时前
Redis 分布式锁与 Redisson 原理深度解析
java·redis·分布式·后端
skilllite作者14 小时前
Deer-Flow 工作流引擎深度评测报告
java·大数据·开发语言·chrome·分布式·架构·rust
摇滚侠14 小时前
Java 项目教程《黑马商城》微服务拆分 20 - 22
java·分布式·架构
乐之者v15 小时前
Kafka 跨服数据同步
分布式·kafka
喜欢流萤吖~16 小时前
分布式搜索引擎:Elasticsearch 从入门到实战
分布式·elasticsearch·搜索引擎