0

尝试使用--bootstrap-server创建主题时,出现异常“执行 Kafka 主题命令时出错:等待节点超时”:-

kafka-topics --bootstrap-server localhost:9092 --topic boottopic --replication-factor 3 --partitions

但是以下工作正常,使用--zookeeper:-

kafka-topics --zookeeper localhost:2181--topic boottopic --replication-factor 3 --partitions

我使用的是 Kafka 2.5 版,根据 >2.2 版以来的知识,所有偏移量和元数据都存储在代理本身上。因此,在创建主题时,无需连接到 zookeeper。

请帮助理解这种行为

注意 - 我已经在一台机器上设置了一个 Zookeeper quorum 和 Kafka 代理集群,每个集群都包含 3 个实例(用于开发目的)

4

3 回答 3

2

老问题,但为了互联网智慧,无论如何我都会回答。您可能已经设置了身份验证,使用--bootstrap-server时还需要指定您的凭据--command-config

于 2020-08-27T12:28:13.750 回答
0

since version >2.2, all the ... metadata are stored on the broker itself

False. Topic metadata is still stored on Zookeeper until KIP-500 is completed.

The AdminClient.createTopics() method, however that is used internally will delegate to Zookeeper from the Controller broker node in the cluster.

Hard to say what the error is, but most common issue is that Kafka is not running, you have SSL enabled and the certs are wrong, or the listeners are misconfigured.

For example, in the listeners, the default broker port on a Cloudera Kafka installation would be 6667, not 9092

each containing 3 instance on a single machine

Running 3 instances on one machine does not improve resiliency or performance unless you have 3 CPUs and 3 separate HDDs on that one motherboard.

于 2020-05-08T03:36:07.597 回答
0

“执行 Kafka 主题命令时出错:等待节点超时”

这似乎您的代理已关闭或无法从您运行这些命令的位置访问,或者它尚未启动(可能仍在启动)。


有时代理启动需要很长时间,因为它执行一些清理操作。您可能需要检查您的 Kafka 代理启动日志并查看它是否已准备好,然后尝试通过提供引导服务器来创建主题。

在您的 Kafka 代理启动期间也可能出现一些错误,例如打开的文件过多或 Zookeeper url 错误,您的代理无法访问 Zookeeper,仅举几例。


如果您能够通过传入 Zookeeper URL 来创建主题,则意味着 Zookeeper 已启动,但并不一定意味着您的 Kafka 代理也已启动并正在运行。

因为 zookeeper 可以在没有代理的情况下启动,但反之则不行。

于 2020-05-09T07:58:01.110 回答