[ERROR] kafka cluster 구성 후 --zookeeper 옵션 사용 시 에러 발생

2022. 12. 7. 08:43Infra/DevOps

kafka 클러스터를 구성하고 토픽 리스트를 확인하거 토픽을 생성하는 과정에서 '--zookeeper' 옵션을 추가하는 경우 에러가 발생합니다. (예시  './kafka-topics.sh --describe --zookeeper locakhost:2181' 등 )

 

docker-compose를 사용하여 클러스터를 구성하였고 아래 이미지를 사용하였습니다.

  • bitnami/kafka:latest
  • bitnami/zookeeper:latest

아파치 카프카 공식 사이트에서 이미지 버전을 확인했을 때, bitnami에서 만드는 이미지들은 아파치 카프카 버전과 동일한 것으로 보입니다. 해당 이슈에 대해서 카프카 공식 도큐먼트를 찾아 보았습니다. 키워드는 'zookeeper option'으로 검색했고 아래와 같은 결과를 확인했습니다. ( 링크 )

관련 내용으로 스택 오버플로해외 개발자 블로그에도 동일한 답변이 있음을 확인했습니다.

 

결론적으로 2.2 이상 버전에서는 --zookeeper 옵션 대신에 --bootstrap-server 옵션을 사용하라는 것이었습니다.

저는 조금 더 손쉽게 토픽과 관련된 내용을 확인할 방법을 찾아보다가 kafdrop이라는 것을 알게되었습니다. 토픽 관리 툴 정도로 생각하시면 될 것 같습니다. 이것을 사용하면 간편하네요.

 

에러내용의 전문은 아래와 같습니다.

Exception in thread "main" joptsimple.UnrecognizedOptionException: zookeeper is not a recognized option
	at joptsimple.OptionException.unrecognizedOption(OptionException.java:108)
	at joptsimple.OptionParser.handleLongOptionToken(OptionParser.java:510)
	at joptsimple.OptionParserState$2.handleArgument(OptionParserState.java:56)
	at joptsimple.OptionParser.parse(OptionParser.java:396)
	at kafka.admin.TopicCommand$TopicCommandOptions.<init>(TopicCommand.scala:517)
	at kafka.admin.TopicCommand$.main(TopicCommand.scala:47)
	at kafka.admin.TopicCommand.main(TopicCommand.scala)