Kafka2.8以后可以实现不使用zookeeper,单机部署。但如果部署了kafka,需要外网通过端口转发访问内网kafka,而内网不希望或者无法通过这个公网地址访问自己的kafka,配置起来略有复杂。网上很多说法没有考虑到内网不希望或者无法通过这个公网地址访问的情况。

1 内网可以通过公网地址访问,或者也愿意通过公网地址访问

这种情况比较简单

只需要修改config/kraft/server.properties

advertised.listeners=PLAINTEXT://公网地址:9092

2 内网无法通过公网地址访问,或者不愿意通过公网地址访问,这种修改就多一些

A: listeners=PLAINTEXT://:9092,CONTROLLER://:9093,IN://:19092

这里添加一个监听,我这里起名为IN,可以随意起名,但这个名字需要在下面有定义。另外端口不能和前面的重复。

B: listener.security.protocol.map=IN:PLAINTEXT,CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL

最主要的是下面,这里配置,配置

C: advertised.listeners=PLAINTEXT://公网IP地址:9092,IN://内网IP地址:19092

至此外网就可以用9092访问,内网可以用19092访问

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐