我想配置kafka,以便客户端可以连接到它。 kafka配置中的advertised.listeners和bootstrap.servers有什么区别?
答案 0 :(得分:1)
bootstrap.servers
参数仅用于与集群的初始连接。建立此初始连接后,Kafka返回advertised.listeners
,这是用于连接到经纪人的IP /端口列表。
此图像有助于理解概念:
注意:advertised.host.name
已过时,您可以假定为advertised.listeners
有关更多信息,您可以检查Kafka docs:
bootstrap.servers :用于建立主机/端口对的列表 与Kafka群集的初始连接。客户将利用 不论在此处指定了哪些服务器 引导程序-此列表仅影响用于 发现全套服务器。该列表应采用以下形式 host1:port1,host2:port2,....由于这些服务器仅用于 初始连接以发现完整的集群成员身份(可能 动态更改),则此列表无需包含完整的 服务器(不过,如果服务器是 下)。
advertised.listeners :用于发布到ZooKeeper的客户端的监听器 如果与listeners config属性不同,请使用。在IaaS中 环境,这可能需要与界面不同 经纪人绑定的。如果未设置,则侦听器的值 将会被使用。与监听器不同,宣传广告无效 0.0.0.0元地址。
答案 1 :(得分:0)
bootstrap.servers
是您为客户端提供的用于连接到Kafka群集的代理的列表。
advertised.listeners
是在与bootstrap.server
的初始连接上为客户端提供的每个代理的主机和端口。当客户随后与经纪人建立联系时,它将使用bootstrap.server
的这些和 not ,这就是为什么正确设置advertised.listeners
如此重要的原因根据您的网络设置。
有关更多详细信息,请参见https://rmoff.net/2018/08/02/kafka-listeners-explained/