Flume读取日志文件数据写入到Kafka

本文介绍如何配置Flume采集日志数据并传输至Kafka,包括配置agent、启动Flume与Kafka消费者步骤,适用于日志数据实时处理场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Flume读取日志文件数据写入到Kafka
原创万千归途 最后发布于2018-10-15 17:57:05 阅读数 4481  收藏
展开
只是为了实现从flume采集的数据写到kafka中  所以采集的数据使用伪数据  提前把数据放入到flume监听的文件夹中

前期准备:flume kafka(kafka要提前启动好)

一、为flume构建agent

先进去flume下的配文件夹里面  (此处我的配置文件夹名字为:myconf)  编写构建agent的配置文件(命名为:flume2kafka.conf)

flume2kafka.conf

# 定义这个agent中各组件的名字
a1.sources = r1
a1.sinks = k1
a1.channels = c1
 
# 描述和配置source组件:r1
a1.sources.r1.type = spooldir
a1.sources.r1.spoolDir = /root/datas/jsondata
a1.sources.r1.fileHeader = true
 
# 描述和配置sink组件:k1
a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink
a1.sinks.k1.kafka.topic = jsonTopic
a1.sinks.k1.kafka.bootstrap.servers = hdp001:9092,hdp002:9092,hdp003:9092
a1.sinks.k1.kafka.flumeBatchSize = 20
a1.sinks.k1.kafka.producer.acks = 1
a1.sinks.k1.kafka.producer.linger.ms = 1
a1.sinks.ki.kafka.producer.compression.type = snappy
 
# 描述和配置channel组件,此处使用是内存缓存的方式
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
 
# 描述和配置source  channel   sink之间的连接关系
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
二、启动flume的agent

bin/flume-ng agent -c conf -f 配置文件夹名/配置文件名 -n a1 -Dflume.root.logger=INFO,console
三、启动kafka的消费者

bin/kafka-console-consumer.sh --zookeeper 主机名:2181 --topic jsonTopic --from-beginning
topic 和 配置文件flume2kafka.conf里的sink组件中的topic一致

这样就开启了日志采集  日志采集完毕之后 flume会提示 如下图:

文件会写入到kafka中 具体路径是kafka配置文件中server.properties里面Log Basics的配置  如下图:

查看文件

数据就写入上图文件中

 

数据写入的kafka是随机的 不一定写入本机的kafka中
————————————————
版权声明:本文为CSDN博主「万千归途」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_41467182/article/details/83062086

好的,我可以为您提供一些关于使用FlumeKafka采集数据写入HDFS代理的步骤: 1. 安装FlumeKafka: 您需要在您的机器上安装FlumeKafka。安装过程可以参考官方文档或者网上教程。 2. 配置Flume agent: 您需要配置Flume agent来从Kafka读取数据写入HDFS代理。以下是一个简单的示例Flume配置文件: ``` agent.sources = kafka-source agent.channels = hdfs-channel agent.sinks = hdfs-sink agent.sources.kafka-source.type = org.apache.flume.source.kafka.KafkaSource agent.sources.kafka-source.kafka.bootstrap.servers = localhost:9092 agent.sources.kafka-source.kafka.topics = my-topic agent.sources.kafka-source.batchSize = 1000 agent.sources.kafka-source.batchDurationMillis = 1000 agent.channels.hdfs-channel.type = memory agent.channels.hdfs-channel.capacity = 10000 agent.channels.hdfs-channel.transactionCapacity = 1000 agent.sinks.hdfs-sink.type = hdfs agent.sinks.hdfs-sink.hdfs.path = /path/to/hdfs agent.sinks.hdfs-sink.hdfs.filePrefix = events- agent.sinks.hdfs-sink.hdfs.fileSuffix = .log agent.sinks.hdfs-sink.hdfs.rollInterval = 3600 agent.sinks.hdfs-sink.hdfs.rollSize = 0 agent.sinks.hdfs-sink.hdfs.rollCount = 10000 agent.sinks.hdfs-sink.channel = hdfs-channel ``` 这个配置文件定义了一个名为kafka-source的source,它从名为my-topic的Kafka主题中读取数据数据写入一个内存通道(memory channel),并由名为hdfs-sinksink写入HDFS代理。 3. 运行Flume agent: 在您的机器上运行Flume agent,使用以下命令: ``` $ bin/flume-ng agent -n agent -c conf -f /path/to/flume.conf ``` 其中,/path/to/flume.conf是您的Flume配置文件的路径。 以上是使用FlumeKafka采集数据写入HDFS代理的基本步骤,您可以根据您的需求进行修改和调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值