前言
kafka版本过高所致,2.2+=的版本,已经不需要依赖zookeeper来查看/创建topic,新版本使用 --bootstrap-server替换老版本的 --zookeeper-server。此次以Windows安装的kafka为例。
[root@CentOS6 kafka_2.13-3.3.1]# bin/kafka-topics.sh --list --zookeeper-server localhost:9092
Exception in thread "main" joptsimple.UnrecognizedOptionException: zookeeper-server 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:567)
at kafka.admin.TopicCommand$.main(TopicCommand.scala:47)
at kafka.admin.TopicCommand.main(TopicCommand.scala)
[root@CentOS6 kafka_2.13-3.3.1]#
kafka最新版本创建主题topic方式已经改变,如果仍然按照过去老一套的方式就会报上面的错误。
解决方案
把下面命令中的 --zookeeper-server
替换为 --bootstrap-server
就可以了,如下图所示:
1、创建主题
bin\windows\kafka-topics.bat --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test
2、查看主题列表
bin\windows\kafka-topics.bat --list --bootstrap-server localhost:9092