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集群。