kafka配置外网访问

为了本地调试方便需要把测试服务器的kafka开放外网连接, 本以为很简单的事情卡了好几个小时,主要还是对kafka不了解导致的,特此记录.

核心就是两个配置:listenersadvertised.listeners
按照我的理解:
listeners 是Kafka Broker 真正监听客户端连接请求的地址和端口。它指定了Kafka Broker 应该监听的地址和端口,以便能够接受来自客户端的连接请求。

advertised.listeners 是Kafka Broker 向客户端报告的连接地址。它指定了客户端应该使用的连接地址,以便能够正确连接到 Kafka Broker。这个地址可以是公共的、外部可访问的地址,即对外开放的地址,以便从不同的网络环境中访问 Kafka Broker。

开始尝试配置:

listeners=PLAINTEXT://内网ip:9092
advertised.listeners=PLAINTEXT://外网ip:9092

但是一直没办法正常连接,启动报错无法Broker不可用, 我用netstat命令查了一下只有内网ip监听了9092端口,外网肯定访问不了啊, 所以只要将listeners的ip改为0.0.0.0就可以了

最后成功的配置:

listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://外网ip:9092

PS: 如果是ECS, 别忘了在控制台开放端口

你可能感兴趣的:(kafka配置外网访问)