Kafka的advertised.listeners
配置是用于指定Kafka broker对外暴露的地址和端口。这个配置对于客户端和其他broker来说非常重要,因为它告诉它们如何连接到Kafka集群。在配置advertised.listeners
时,需要注意以下几点:
格式:advertised.listeners
的值应该是一个字符串,其中包含一个或多个监听器。每个监听器都是一个host:port
对,用逗号分隔。例如:PLAINTEXT://your.host.name:9092
。
协议:确保在advertised.listeners
中指定了正确的协议。Kafka支持多种协议,如PLAINTEXT
(未加密),SSL
(加密)和SASL_SSL
(加密且需要SASL身份验证)。根据你的需求和安全要求选择合适的协议。
端口:确保在advertised.listeners
中指定的端口是可访问的。检查防火墙设置,确保端口没有被阻止。
主机名解析:确保客户端和其他broker能够解析advertised.listeners
中的主机名。如果使用主机名,请确保DNS解析正确。在某些情况下,可能需要将advertised.listeners
配置为IP地址,以避免DNS解析问题。
多个监听器:如果你的Kafka集群有多个broker,可以在advertised.listeners
中为每个broker配置一个监听器。这样,客户端可以连接到任意一个可用的broker。但是,确保advertised.listeners
中的监听器列表不重复。
与内部配置保持一致:在配置advertised.listeners
时,请确保它与Kafka broker的内部配置(如listeners
和advertised.listeners
)保持一致。这可以避免客户端连接到错误的broker。
总之,在配置Kafka的advertised.listeners
时,请确保指定了正确的协议、端口和主机名,以便客户端和其他broker能够正确地连接到Kafka集群。