背景:
在kafka集群上使用topic相关的命令时,报错:
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:567) at kafka.admin.TopicCommand$.main(TopicCommand.scala:47) at kafka.admin.TopicCommand.main(TopicCommand.scala)
原因及解决方法:
这是因为安装的kafka版本过高,2.8+的kafka,已经不需要依赖zookeeper来创建topic,新版本使用 --bootstrap-server 参数,例:
#创建主题 ./kafka-topics.sh --bootstrap-server localhost:9092 --create --topic my-topic --partitions 1 #查看主题 ./kafka-topics.sh --list --bootstrap-server localhost:9092