토픽을 삭제하기 위해서는 우선 $KAFKA_HOME/config/server.properties
에 delete.topic.enable
설정을 추가한 후 카프카를 재기동해야한다.
delete.topic.enable = true
만약 이 설정을 추가하지 않은 상태에서 일반적으로 알려진 토픽 삭제 방법인 kafka-topics.sh
을 이용해서 토픽을 삭제하면 아래와 같이 already marked for deletion
이라는 메시지만 나타나고 정상적으로 삭제가 안 된다. 이 경우 다시 토픽을 생성할 수도 없으며 해당 토픽으로 들어온 메시지도 처리가 안 된다.
$ ./kafka-topics.sh --delete --zookeeper $ZOOKEEPER --topic morpheme.t
Topic morpheme.t is already marked for deletion.
이럴 때는 zookeeper shell(zookeeper-shell.sh
)의 rmr
명령으로 삭제하면 완전히 삭제되어 다시 토픽을 생성하여도 에러가 발생하지 않는다.
$ ./zookeeper-shell.sh localhost:2181
ls /brokers/topics
[morpheme.t, __consumer_offsets]
rmr /brokers/topics/morpheme.t
(참고) 원래 성공했는지 아닌지 따위 아래에 출력되지 않는다. 다시 ls /brokers/topics
명령을 쳐서 토픽이 정상적으로 삭제됐는지 확인한다.
'Dev > Kafka' 카테고리의 다른 글
Kafka retention 옵션 - log 보관 주기 설정 (0) | 2020.12.02 |
---|---|
Kafka 2.1 이상에서 Kafka Offset Monitor 사용하기 - Unknown offset schema version 3 해결 (6) | 2019.12.26 |
Kafka Monitoring Tool - Kafka Offset Monitor (0) | 2019.12.26 |
Kafka 용어 정리 (0) | 2019.12.25 |
Kafka 외부 접속 허용하기 (0) | 2019.10.07 |
댓글