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