V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
mekingname
V2EX  ›  问与答

Kafka 出现了严重的数据倾斜应该怎么办?

  •  
  •   mekingname · 2021-07-30 12:08:24 +08:00 · 1671 次点击
    这是一个创建于 1001 天前的主题,其中的信息可能已经有所发展或是发生改变。

    其它 partition 的 lag 都是正常的,但是有一个 lag 堵了很多。每个 lag 的数据必须在 5 分钟内消费完成,否则就会失效。现在这个堵包的 partition 里面的数据基本上已经全部过期了。我应该怎么清空这个 partition 的 lag,但不影响其它的 partition ?

    因为如果我修改 group id 和和 offset commit 方式为 latest,那么其它 partition 的数据会丢一部分。

    5 条回复    2021-09-16 11:14:50 +08:00
    amwyyyy
        1
    amwyyyy  
       2021-07-30 15:30:26 +08:00
    ./kafka-consumer-groups.sh --bootstrap-server 127.0.0.1:9092 --topic <topic_name> --group <group_name>:<partition_id> --reset-offsets --to-latest --execute

    单独改这个分区
    mekingname
        2
    mekingname  
    OP
       2021-07-30 15:56:33 +08:00
    @amwyyyy 是不是需要先让这个 partition 没有消费者了,才能改这个 partition 的 offset ?但是如果我的消费者小于 partition 数量,那么自动会有一个消费者消费多个 partition,也就包括这个。
    PiersSoCool
        3
    PiersSoCool  
       2021-07-30 18:12:50 +08:00
    单独修改分区的 offset
    Samuelcc
        4
    Samuelcc  
       2021-07-30 20:28:29 +08:00 via Android
    先全部停掉,然后 seek 一下也就是 1 楼提供的方式。
    mekingname
        5
    mekingname  
    OP
       2021-09-16 11:14:50 +08:00
    Partition ID 应该是放到 topic 后面的,不是放在 group 后面:

    ./kafka-consumer-groups.sh --bootstrap-server 127.0.0.1:9092 --topic <topic_name>:<partition_id> --group <group_name> --reset-offsets --to-latest --execute

    并且需要保证这个 group 没有消费者,才能执行
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1141 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 18:37 · PVG 02:37 · LAX 11:37 · JFK 14:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.