我已经在 Windows 10 上配置了 kafka_2.11-2.3.0 和 apache-zookeeper-3.5.5-bin。但是在运行主题创建命令时,我收到以下错误:
C:\kafka_2.11-2.3.0>.\bin\windows\kafka-topics.bat --create --bootstrap-server 127.0.0.1:2181 --partitions 1 --replication-factor 1 --topic testD1
Error while executing topic command : org.apache.kafka.common.errors.TimeoutException: Timed out waiting for a node assignment.
[2019-10-14 16:42:40,603] ERROR java.util.concurrent.ExecutionException: org.apache.kafka.common.errors.TimeoutException: Timed out waiting for a node assignment.
at org.apache.kafka.common.internals.KafkaFutureImpl.wrapAndThrow(KafkaFutureImpl.java:45)
at org.apache.kafka.common.internals.KafkaFutureImpl.access$000(KafkaFutureImpl.java:32)
at org.apache.kafka.common.internals.KafkaFutureImpl$SingleWaiter.await(KafkaFutureImpl.java:89)
at org.apache.kafka.common.internals.KafkaFutureImpl.get(KafkaFutureImpl.java:260)
at kafka.admin.TopicCommand$AdminClientTopicService.createTopic(TopicCommand.scala:178)
at kafka.admin.TopicCommand$TopicService$class.createTopic(TopicCommand.scala:149)
at kafka.admin.TopicCommand$AdminClientTopicService.createTopic(TopicCommand.scala:172)
at kafka.admin.TopicCommand$.main(TopicCommand.scala:60)
at kafka.admin.TopicCommand.main(TopicCommand.scala)
Caused by: org.apache.kafka.common.errors.TimeoutException: Timed out waiting for a node assignment.
Run Code Online (Sandbox Code Playgroud)
阅读 stackoverflow 中的某处以在 server.properties 文件中添加 listeners=PLAINTEXT://127.0.0.1:9092 但这没有按预期工作。
小智 35
Zookeeper运行在2181上,而不是Kafka(引导服务器)上
默认情况下,Kafka 在端口9092上运行,如下所示
kafka-topics --bootstrap-server 127.0.0.1:9092 --topic first_topic --create --partitions 3 --replication-factor 1
Run Code Online (Sandbox Code Playgroud)
小智 6
我在 linux 上遇到了同样的问题。创建主题的推荐方式仍然是通过代理,您不需要直接连接到zookeeper。
事实证明,在连接到 TLS 端点时,shell 脚本需要更多配置:
cp /usr/lib/jvm/java-11-openjdk-amd64/lib/security/cacerts /tmp/kafka.client.truststore.jks
Run Code Online (Sandbox Code Playgroud)
security.protocol=SSL
ssl.truststore.location=/tmp/kafka.client.truststore.jks
Run Code Online (Sandbox Code Playgroud)
然后尝试再次运行脚本,同时通过--command-config
属性文件传递选项,例如:
./kafka-topics.sh --bootstrap-server <server>:<port> --list --command-config client.properties
Run Code Online (Sandbox Code Playgroud)
请注意,不同脚本之间的选项不一致,对于控制台使用者/生产者,您需要:
--consumer.config
和--producer.config
用 Zookeeper 替换 bootstrap-server 解决了这个问题。