카프카(Kafka) 토픽 지우기 & delete.topic.enable 파라미터 사용하기
카프카(Kafka)의 토픽(topic)을 지워보고 또한 토픽 삭제를 못하도록 broker configs의 delete.topic.enable를 수정해 보겠습니다. 그리고 카프카 토픽명에 .(마침표)나 _(언더스코어) 때문에 충돌이 일어나는 실습도 하겠습니다. 사용된 카프카 버전은 2.4.1 입니다.
* 예전에는 delete.topic.enable의 default 값이 false였는데 버전 1.0.0 이후부터 true로 변경되었습니다. (참고) KAFKA/KIP-162
- --list 옵션으로 토픽이 있는지 확인하고 --create 옵션으로 토픽을 몇 개 생성합니다. 생성한 토픽에 데이터를 넣으셔도 됩니다.
- kafka-topics.sh 을 실행하여 --delete 옵션을 확인합니다.
- 토픽을 지우지 못하게 delete.topic.enable 파라미터 옵션을 false로 바꾸겠습니다. 일단 다시 토픽을 하나 생성합니다.
* test.1 토픽을 만들때는 괜찮았지만 test_1을 만들려고하니 test.1 과 충돌이 일어나서 만들수가 없습니다. 제 개인적인 생각으론 카프카 내부 토픽과의 혼란과 충돌을 피하기 위해 .(마침표)나 _(언더스코어, 언더바)는 사용을 안하는 게 좋은 것 같습니다. - (하이픈)을 사용하면 좋을 것 같습니다.
- config 폴더안의 server.properties 를 열고 delete.topic.enable=false를 추가합니다. (디폴트값은 true) 그리고 카프카 서버를 재시작합니다. 카프카 서버가 재시작할 때 로그를 잘 보시면 delete.topic.enable 값이 false로 변경된 것을 확인하실 수 있습니다.
Comments
Post a Comment