【问题标题】:Exception: partition is not a recognized option, when creating a kafka topic inside a docker.例外:在 docker 中创建 kafka 主题时,分区不是一个可识别的选项。
【发布时间】:2026-01-29 13:05:01
【问题描述】:

我刚开始使用 Kafka-docker。我打算在 docker 中使用以下命令创建一个主题:

./kafka-topics.sh --create --zookeeper zoo1:2181 --replication-factor 3 --partition 2 --topic test

它给了我以下错误:

Exception in thread "main" joptsimple.UnrecognizedOptionException: partition 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:340)
    at kafka.admin.TopicCommand$.main(TopicCommand.scala:43)
    at kafka.admin.TopicCommand.main(TopicCommand.scala)

我在 hosts 文件中添加了以下几行:

 127.0.0.1     kafka1
 127.0.0.1     zoo1

【问题讨论】:

    标签: apache-kafka docker-compose


    【解决方案1】:

    不是--partition,而是--partitions

    【讨论】:

      【解决方案2】:
      kafka-topics.bat --create --topic my-first-topic -zookeeper localhost:2181 --replication-factor 1 --partitions 3.
      

      嘿老板,这是创建主题的窗口,所以我观察到你使用 docker 的命令整体命令是正确的,只有 [partition] 拼写错误而不是 [partitions]

      【讨论】: