Purge Kafka Topic

后端 未结 19 2359
慢半拍i
慢半拍i 2020-11-28 00:06

Is there a way to purge the topic in kafka?

I pushed a message that was too big into a kafka message topic on my local machine, now I\'m getting an

19条回答
  •  野趣味
    野趣味 (楼主)
    2020-11-28 00:48

    A lot of great answers over here but among them, I didn't find one about docker. I spent some time to figure out that using the broker container is wrong for this case (obviously!!!)

    ## this is wrong!
    docker exec broker1 kafka-topics --zookeeper localhost:2181 --alter --topic mytopic --config retention.ms=1000
    
    Exception in thread "main" kafka.zookeeper.ZooKeeperClientTimeoutException: Timed out waiting for connection while in state: CONNECTING
            at kafka.zookeeper.ZooKeeperClient.$anonfun$waitUntilConnected$3(ZooKeeperClient.scala:258)
            at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
            at kafka.utils.CoreUtils$.inLock(CoreUtils.scala:253)
            at kafka.zookeeper.ZooKeeperClient.waitUntilConnected(ZooKeeperClient.scala:254)
            at kafka.zookeeper.ZooKeeperClient.(ZooKeeperClient.scala:112)
            at kafka.zk.KafkaZkClient$.apply(KafkaZkClient.scala:1826)
            at kafka.admin.TopicCommand$ZookeeperTopicService$.apply(TopicCommand.scala:280)
            at kafka.admin.TopicCommand$.main(TopicCommand.scala:53)
            at kafka.admin.TopicCommand.main(TopicCommand.scala)
    

    and I should have used zookeeper:2181 instead of --zookeeper localhost:2181 as per my compose file

    ## this might be an option, but as per comment below not all zookeeper images can have this script included
    docker exec zookeper1 kafka-topics --zookeeper localhost:2181 --alter --topic mytopic --config retention.ms=1000
    

    the correct command would be

    docker exec broker1 kafka-configs --zookeeper zookeeper:2181 --alter --entity-type topics --entity-name dev_gdn_urls --add-config retention.ms=12800000
    

    Hope it will save someone's time.

    Also, be aware that the messages won't be deleted immediately and it will happen when the segment of the log will be closed.

提交回复
热议问题