记录seatunnel排查重复数据的案例分析

背景

使用seatunnel 同步数据从A 集群kafka 同步到B集群kafka,现象是发现两边数据不一致,每天10w级别会多几十条数据

分析

检查现象

因为两侧kafka的数据同时也会写es,先检查两侧es的数据, 通过二分发现,B集群es数据确实比A集群多,多的数据检查发现是重复的数据,有记录被写了多次

检查B集群是否有异常,导致重复消费的

检查日志发现有没有写入失败,导致一批数据被重复消费的,从日志来看是没有的

分析同步任务

检查seatunnel 任务,发现没有配置semantics ,然后发又检查了客户现场的flink job ,确定有经常任务会有环境导致的重启现象,应该问题就是这了

sink {
  kafka {
      topic = "test_topic"
      bootstrap.servers = "localhost:9092"
      format = json
      kafka.request.timeout.ms = 60000
      semantics = EXACTLY_ONCE
      kafka.config = {
        acks = "all"
        request.timeout.ms = 60000
        buffer.memory = 33554432
      }
  }

修复问题

加上 semantics = EXACTLY_ONCE

sink {
  kafka {
      topic = "test_topic"
      bootstrap.servers = "localhost:9092"
      format = json
      kafka.request.timeout.ms = 60000
   
      kafka.config = {
        acks = "all"
        request.timeout.ms = 60000
        buffer.memory = 33554432
      }
  }
发现flink job 一直报异常

最后问题定位到这,官方bug导致,升级最新版本修复
sink 在一致性语义情况下报异常

修复问题

只修改sink一致性语义是不够的,还要消费b 集群kafka 的客户端的事务配置是,read_commited的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wending-Y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值