Às vezes, se você tiver um cluster saturado (muitas partições, ou usando dados de tópico criptografados, ou SSL, ou o controlador estiver em um nó inválido ou a conexão estiver irregular, levará muito tempo para limpar o tópico) .
Eu sigo estas etapas, principalmente se você estiver usando o Avro.
1: Execute com ferramentas kafka:
bash kafka-configs.sh --alter --entity-type topics --zookeeper zookeeper01.kafka.com --add-config retention.ms=1 --entity-name <topic-name>
2: Executar no nó de registro do esquema:
kafka-avro-console-consumer --consumer-property security.protocol=SSL --consumer-property ssl.truststore.location=/etc/schema-registry/secrets/trust.jks --consumer-property ssl.truststore.password=password --consumer-property ssl.keystore.location=/etc/schema-registry/secrets/identity.jks --consumer-property ssl.keystore.password=password --consumer-property ssl.key.password=password --bootstrap-server broker01.kafka.com:9092 --topic <topic-name> --new-consumer --from-beginning
3: Coloque a retenção de tópicos de volta à configuração original, quando o tópico estiver vazio.
bash kafka-configs.sh --alter --entity-type topics --zookeeper zookeeper01.kafka.com --add-config retention.ms=604800000 --entity-name <topic-name>
Espero que isso ajude alguém, pois não é facilmente anunciado.