这个问题通常出现在Kafka的 server.properties
文件中配置的 listeners
参数中没有包含当前机器的完全域名,例如:listeners=PLAINTEXT://localhost:9092
。此时Kafka只能通过'localhost”来解析机器的地址,而无法通过其他名字或IP来访问。
解决方法是修改 server.properties
文件并将 listeners
参数设置为该机器的可访问地址。例如,如果该机器的完全域名是my.kafkahost.com
,则应该将 listeners
参数修改为 listeners=PLAINTEXT://my.kafkahost.com:9092
。如果该机器有多个网络接口,您还必须将该参数设置为一个逗号分隔的列表,例如:listeners=PLAINTEXT://my.kafkahost.com:9092,PLAINTEXT://10.0.0.1:9092
。
示例:
# 修改 server.properties 文件
sudo nano /etc/kafka/server.properties
# 将以下行添加到文件中
listeners=PLAINTEXT://my.kafkahost.com:9092