【问题标题】:kafka Missing required configuration "zookeeper.connect" which has no default valuekafka 缺少所需的配置“zookeeper.connect”,没有默认值
【发布时间】:2021-03-25 14:55:59
【问题描述】:

我在 vm 中设置了 kafka 集群。

但我有一个问题。

我的kafka版本是kafka 2.11-0.0.0

 $ bin/kafka-server-start.sh config/zookeeper.properties 
[2017-01-31 09:15:55,216] FATAL  (kafka.Kafka$)
org.apache.kafka.common.config.ConfigException: Missing required configuration "zookeeper.connect" which has no default value.
    at org.apache.kafka.common.config.ConfigDef.parse(ConfigDef.java:148)
    at org.apache.kafka.common.config.AbstractConfig.<init>(AbstractConfig.java:49)
    at org.apache.kafka.common.config.AbstractConfig.<init>(AbstractConfig.java:56)
    at kafka.server.KafkaConfig.<init>(KafkaConfig.scala:702)
    at kafka.server.KafkaConfig$.fromProps(KafkaConfig.scala:691)
    at kafka.server.KafkaServerStartable$.fromProps(KafkaServerStartable.scala:28)
    at kafka.Kafka$.main(Kafka.scala:58)
    at kafka.Kafka.main(Kafka.scala)

请帮帮我。

我的 zookeeper.properties(下)


zookeeper.properties

dataDir=/home/kafka01/zookeeper-data
# the port at which the clients will connect
clientPort=2181
# disable the per-ip limit on the number of connections since this is a non-production config
maxClientCnxns=0
initLimit=5
syncLimit=2
server.1=kafka01:2888:3888
server.2=kafka02:2888:3888
server.3=kafka03:2888:3888

server.properties

zookeeper.connect=kafka01:2181,kafka02:2181,kafka03:2181

有什么问题??

【问题讨论】:

    标签: apache-kafka


    【解决方案1】:

    您正在尝试启动 kafka 服务器,但您传递了错误的配置文件。

    通常你想使用以下命令启动一个 kafka 服务器:

    ./kafka-server-start.sh ../config/server.properties
    

    并且在这个文件中你指定了zookeeper的地址:

    zookeeper.connect=kafka01:2181,kafka02:2181,kafka03:2181
    

    kafka 官方文档中的 quickstart guide 相当不错,推荐大家看看。你可以找到它here

    【讨论】:

      【解决方案2】:

      您盯着错误的脚本。应该是:
      bin/zookeeper-server-start.sh config/zookeeper.properties

      【讨论】:

        【解决方案3】:

        有两种方式可以启动 Kafka 服务器:

        1. 单独启动 zookeeper 服务器(在本地或另一台机器上)
        2. 启动嵌入Kafka服务器的zookeeper服务器(kafka_2.12/libs/zookeeper-3.4.13.jar)

        第一种情况: 我假设您已经启动了 zookeeper 服务器,并且正在 localhost:2181 上运行

        所以现在你可以使用以下命令启动 kafka 服务器了

        bin\windows\kafka-server-start.bat ..\..\config\server.properties
        

        在 server.properties 文件中,您必须告诉 Kafka 服务器 zookeeper(s) 在哪里运行。使用属性:

        ## zookeeper.connect=localhost:2181 [default]
        zookeeper.connect=zk1:2181, zk2:2181, localhost:2181
        

        第二种情况

        先启动zookeeper(嵌入Kafka服务器)

        bin\windows\zookeeper-server-start.bat ..\..\config\zookeeper.properties
        

        然后,启动 Kafka 服务器:

        bin\windows\kafka-server-start.bat ..\..\config\server.properties
        

        【讨论】:

        • 我不知何故覆盖了我的 server.properties 文件。这让我进入仪式轨道,谢谢。稍后快速谷歌搜索,以及所有好的“kafka server.properties 示例”
        【解决方案4】:

        您正在尝试使用 zookeeper 配置属性文件启动 kafka 服务器,这就是您收到上述错误的原因。

        请改用以下命令:

        动物园管理员:

        .\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties
        

        卡夫卡:

        .\bin\windows\kafka-server-start.bat .\config\server.properties
        

        【讨论】:

          【解决方案5】:

          这是错误,因为您的命令存在问题。

          启动 zookeeper 运行 -

          zookeeper-server-start.sh config/zookeeper.properties
          

          启动服务器运行 -

          kafka-server-start.sh config/zookeeper.properties
          

          【讨论】:

            猜你喜欢
            • 2019-08-04
            • 2020-10-13
            • 2017-11-06
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-04-23
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多