Apache Kafka: Jak usunąć dane z topic’u?

Podczas pracy z Apache Kafka może zdarzyć się sytuacja, gdy będziemy potrzebowali usunać dane z topic’u, bo np. podczas testów zostały wysłane śmieciowe dane, a nie mieliśmy jeszcze zaimplementowanej obsługi takich błędów, w wyniku czego powstał nam tzw. “poison pill” – czyli taki rekord/rekordy, które za każdym razem, gdy próbujemy odczytać z Kafki powodują, że nasze przetważanie ulega awarii.

1 sposób (niezalecany)

Możemy po prostu usunąc topic i stworzyć go na nowo. Osobiście uważam, że lepiej jest stosować sposób drugi czyli:

2 sposób: zmiana retencji

Drugim sposobem jest zmiana retencji danych na topic’u do jakieś małej wartości np. 1 sekundy. Dane zostaną automatycznie usunięte przez wewnętrzene procesy Kafki. O nic nie musimy się wtedy martwić.

Najpierw sprawdźmy aktualną konfigurację topic’u: retention.ms=86400000 (7 dni)

kafka-topics --zookeeper kafka:2181 --topic bigdata-etl-file-source -describe

Topic:bigdata-etl-file-source	PartitionCount:1	ReplicationFactor:1	Configs:retention.ms=86400000
	Topic: bigdata-etl-file-source	Partition: 0	Leader: 0	Replicas: 0	Isr: 0

Zmieniamy retencje na 1 sekundę

kafka-configs --zookeeper <zookeeper>:2181 --entity-type topics --alter --entity-name bigdata-etl-file-source --add-config retention.ms=1000

Sprawdzamy konfigurację:

kafka-configs --zookeeper <zookeeper>:2181 --entity-type topics --alter --entity-name bigdata-etl-file-source --add-config retention.ms=1000

kafka-configs --zookeeper kafka:2181 --entity-type topics --alter --entity-name bigdata-etl-file-source --add-config retention.ms=1000

Pamiętaj, aby chwilę odczekać (około 1 min), aby dane zostały usunięte.

Gdy sprawdzimy, że dane zostały już usunięte z topic’u, możemy przywrócić poprzednie ustawienia.

Jeśli spodobał Ci się ten post to zostaw proszę komentarz poniżej oraz udostępnij ten post na swoim Facebook’u, Twitter’ze, LinkedIn lub innej stronie z mediami społecznościowymi.
Dzięki!

0 0 vote
Article Rating
Subscribe
Powiadom o
guest
0 komentarzy
Inline Feedbacks
View all comments