Nice programing

Apache Kafka에서 주제를 삭제하는 방법

nicepro 2020. 11. 18. 21:26
반응형

Apache Kafka에서 주제를 삭제하는 방법


이 질문에 이미 답변이 있습니다.

kafka-0.8.2.2.3에서 주제를 삭제해야합니다. 주제를 삭제하기 위해 아래 명령을 사용했습니다.

bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic DummyTopic

명령이 성공적으로 실행되었지만 주제를 나열하는 명령을 실행하면 주제가 여전히 존재하고 삭제 표시로 표시됨을 알 수 있습니다.

bin/kafka-topics.sh --list --zookeeper localhost:2181
DummyTopic - marked for deletion

그리고 주제 DummyTopic을 생성하면 예외가 출력됩니다. The topic already exists, 아래는 스택 추적입니다.

Error while executing topic command Topic "DummyTopic" already exists.
kafka.common.TopicExistsException: Topic "DummyTopic" already exists.
    at kafka.admin.AdminUtils$.createOrUpdateTopicPartitionAssignmentPathInZK(AdminUtils.scala:248)
    at kafka.admin.AdminUtils$.createTopic(AdminUtils.scala:233)
    at kafka.admin.TopicCommand$.createTopic(TopicCommand.scala:92)
    at kafka.admin.TopicCommand$.main(TopicCommand.scala:54)
    at kafka.admin.TopicCommand.main(TopicCommand.scala)

이 주제를 어떻게 삭제할 수 있는지 알려주십시오.


주제 삭제는 0.8.2.x 버전부터 지원되었습니다. delete.topic.enable먼저 모든 브로커에서 토픽 삭제 ( true로 설정)를 활성화해야합니다 .

참고 : 1.0.x 이후 안정된 기능은 delete.topic.enable기본적으로 true.

주제를 수동으로 삭제하려면이 단계별 프로세스를 따르십시오.

  1. Kafka 서버 중지
  2. 명령을 사용 하여 각 브로커 ( logs.dirslog.dir등록 정보에 정의 된대로)에서 주제 디렉토리를 삭제합니다.rm -rf
  3. Zookeeper 인스턴스에 연결 :zookeeper-shell.sh host:port
  4. Zookeeper 인스턴스 내에서 :
    1. 다음을 사용하여 주제를 나열하십시오. ls /brokers/topics
    2. 다음을 사용하여 ZooKeeper 에서 주제 폴더를 제거합니다 .rmr /brokers/topics/yourtopic
    3. Zookeeper 인스턴스 종료 (Ctrl + C)
  5. Kafka 서버 다시 시작
  6. 이 명령을 사용하여 삭제되었는지 확인하십시오. kafka-topics.sh --list --zookeeper host:port

참고 URL : https://stackoverflow.com/questions/33537950/how-to-delete-a-topic-in-apache-kafka

반응형