flume Kafka Channel 无法传输数据到kafka

第一个问题

我使用的flume 1.5 但是现在官网上flume版本是1.9的,所以我把source定义为了 TailDir Source,
 启动之后发现没有kafka中没有对应的topic, 然后参看flume启动日志,发现1.5版本没有TailDir Source, 
 我就把flume的版本升级到了1.7,TailDir Source这个属性是在1.6 添加的。

接下来紧接着就遇到第二个问题了

虽然官网上面说,TailDir可以支持多目录,断点续传,但是在我电脑上好像不支持,
我本来是要监控 /tmp/logs/log-* ,也就是logs目录下所有log开头的文件的,我尝试了很多次都监控不到,
最后只能该成 /tmp/logs/log-2019-9-14.log 文件才能监控到。
同时 batchSize 这个属性一定要增大,官网默认是100. 我配的是5000.

接下来就来了第三个问题。

上面的那两个坑都踩完之后发现,成功创建出topic了,但是里面没有数据。?
最后经过我多次测试,发现是一次写入到 log-2019-9-14.log 文件中的数据太多了,电脑的性能不好,
一次消费不了折磨多的数据,直接堵死了,
就不再上传了,所以就只创建了topic,而没有数据。最终把数据减少点,可以输出到kafka了
Flume是Cloudera提供的一个分布式、可靠且可用的系统,用于有效地收集、聚合和移动大量日志数据。它具有简单的配置、强大的容错性和多样的源和接收器类型等特点。当使用Flume数据从一个Kafka主题传输到另一个Kafka主题时,可以通过自定义Flume配置来实现。 以下是一个基本的Flume配置示例,用于实现从Kafka消费数据并将其写入到另一个Kafka主题: ``` # 定义agent的名称,必须与后面组件中的agent名称对应 a1.sources = r1 a1.sinks = k1 a1.channels = c1 # 配置source,这里的type是kafka a1.sources.r1.type = org.apache.flume.source.kafka.KafkaSource a1.sources.r1.batchSize = 5000 a1.sources.r1.batchDurationMillis = 2000 a1.sources.r1.kafka.bootstrap.servers = kafka-server-1:9092,kafka-server-2:9092,kafka-server-3:9092 a1.sources.r1.kafka.topics = topic1 a1.sources.r1.kafka.consumer.group.id = flume-group # 配置sink,这里的type是kafka a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink a1.sinks.k1.brokerList = kafka-server-1:9092,kafka-server-2:9092,kafka-server-3:9092 a1.sinks.k1.topic = topic2 a1.sinks.k1.requiredAcks = 1 # 配置channel,这里的type是memory a1.channels.c1.type = memory a1.channels.c1.capacity = 10000 a1.channels.c1.transactionCapacity = 100 # 将source, sink和channel连接起来 a1.sources.r1.channels = c1 a1.sinks.k1.channel = c1 ``` 在这个配置中,Flume agent名为a1,它有一个source(r1)、一个sink(k1)和一个channel(c1)。source是类型为`org.apache.flume.source.kafka.KafkaSource`的Kafka source,用于从Kafka主题(topic1)消费数据。sink是类型为`org.apache.flume.sink.kafka.KafkaSink`的Kafka sink,用于将数据写入另一个Kafka主题(topic2)。channel(c1)作为source和sink之间的缓冲区,类型设置为`memory`。 在实际应用中,需要根据具体的Kafka集群配置和Flume环境对上述配置进行相应的修改。确保Kafka服务器地址、主题名称、消费者组ID以及Flumechannel容量等参数与实际环境相匹配。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值