首页 > 解决方案 > 无法启动本地 kafka 代理

问题描述

当我使用以下配置在我的机器上启动本地 kafka 代理时

listeners=PLAINTEXT://localhost:9092,SSL://localhost:9093
advertised.listeners=PLAINTEXT://localhost:9092,SSL://localhost:9093

它工作正常。但是,如果我在广告侦听器中将 localhost 替换为我的机器名称,那么

listeners=PLAINTEXT://localhost:9092,SSL://localhost:9093
advertised.listeners=PLAINTEXT://GBV04303950:9092,SSL://GBV04303950:9093

然后它拒绝启动,并显示错误消息

[2019-03-12 17:32:00,179] WARN [Controller id=0, targetBrokerId=0] 无法建立到节点 0 (GBV04303950/10.202.32.140:9092) 的连接。经纪人可能不可用。(org.apache.kafka.clients.NetworkClient)[2019-03-12 17:32:00,203] 错误 [KafkaApi-0] 活动代理的数量“0”不满足偏移主题所需的复制因子“1” (通过'offsets.topic.replication.factor'配置)。如果集群正在启动并且并非所有代理都已启动,则可以忽略此错误。(kafka.server.KafkaApis)

我还尝试使用带有域名的完全限定主机名,通过在提示符处键入“ping localhost”返回,但发生相同的错误。

为什么无法使用机器名连接,但可以使用 localhost?

标签: javaapache-kafka

解决方案


请注意,仅在以下情况下才需要同时配置SSLPLAINTEXT端口:

  • 没有为代理间通信启用 SSL
  • 一些连接到集群的客户端不使用 SSL

如果是这种情况,那么以下示例配置应该可以工作:

listeners=PLAINTEXT://GBV04303950:9092,SSL://GBV04303950:9093
advertised.listeners=PLAINTEXT://0.0.0.0:9092,SSL://0.0.0.0:9093

推荐阅读