kafka缺少必需的配置"zookeeper.connect",它没有默认值

Mor*_*kim 4 apache-kafka

我在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)
Run Code Online (Sandbox Code Playgroud)

请帮我 .

我的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
Run Code Online (Sandbox Code Playgroud)

server.properties

zookeeper.connect=kafka01:2181,kafka02:2181,kafka03:2181
Run Code Online (Sandbox Code Playgroud)

问题是什么??

小智 9

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

请改用以下命令:

动物园管理员:

.\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties
Run Code Online (Sandbox Code Playgroud)

卡夫卡:

.\bin\windows\kafka-server-start.bat .\config\server.properties
Run Code Online (Sandbox Code Playgroud)


小智 7

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

通常,您希望使用以下命令启动kafka服务器:

./kafka-server-start.sh ../config/server.properties
Run Code Online (Sandbox Code Playgroud)

并在此文件中指定zookeeper的地址:

zookeeper.connect=kafka01:2181,kafka02:2181,kafka03:2181
Run Code Online (Sandbox Code Playgroud)

kafka官方文档中的快速入门指南非常好,我建议你看看它.你可以在这里找到它.


小智 5

你盯着错误的剧本.它应该是:
bin/zookeeper-server-start.sh config/zookeeper.properties


vsk*_*hul 5

有两种方法可以启动 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
Run Code Online (Sandbox Code Playgroud)

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

## zookeeper.connect=localhost:2181 [default]
zookeeper.connect=zk1:2181, zk2:2181, localhost:2181
Run Code Online (Sandbox Code Playgroud)

第二种情况

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

bin\windows\zookeeper-server-start.bat ..\..\config\zookeeper.properties
Run Code Online (Sandbox Code Playgroud)

然后,启动 Kafka 服务器:

bin\windows\kafka-server-start.bat ..\..\config\server.properties
Run Code Online (Sandbox Code Playgroud)