Kafka的advertised.listeners
配置是用于指定Kafka代理(broker)如何向客户端暴露其网络地址的。这个设置对于客户端来说非常重要,因为它告诉客户端如何连接到Kafka集群。以下是关于advertised.listeners
设置的指南:
advertised.listeners
是一个字符串,其中包含了Kafka代理的网络地址和端口。这个地址和端口对客户端来说是可见的,即使它们位于与Kafka代理不同的网络中。
advertised.listeners
的格式通常是:
<protocol>:<hostname>:<port>
<protocol>
: 网络协议,通常是PLAINTEXT
、SSL
、SASL_PLAINTEXT
或SASL_SSL
。<hostname>
: 主机名或IP地址。<port>
: 端口号。例如:
PLAINTEXT://your.kafka.host:9092
假设你有一个Kafka集群,其中有三个代理,分别运行在不同的IP地址和端口上。你可以这样配置advertised.listeners
:
advertised.listeners=PLAINTEXT://broker1.example.com:9092
advertised.listeners=PLAINTEXT://broker2.example.com:9092
advertised.listeners=PLAINTEXT://broker3.example.com:9092
advertised.listeners
配置通常放在Kafka代理的配置文件中,例如server.properties
。你可以在Kafka安装目录下的config
文件夹中找到这个文件。
在客户端配置中,你需要指定正确的bootstrap.servers
,它应该与advertised.listeners
中的地址和端口匹配。例如:
bootstrap.servers=broker1.example.com:9092,broker2.example.com:9092,broker3.example.com:9092
advertised.listeners
中的主机名。SSL
或SASL_SSL
)。在修改配置文件后,重启Kafka代理以使更改生效。你可以使用Kafka自带的工具(如kafka-topics.sh
)或第三方工具来验证连接是否成功。
通过以上步骤,你应该能够正确配置和使用advertised.listeners
来连接到你的Kafka集群。