今天有个项目网络分内外网,部署需要在内网部署数据库、kafka等内容,外网需要部署应用,突然发现在外网应用无法连接上kafka,但是内外网端口映射是通的,于是上网google了一下,由于我们内网映射到外网时内网服务器ip发生变化,发现需要修改如下配置即可实现内外网同时访问,我使用的kafka版本为kafka_2.11-2.0.0,使用的是单节点,配置如下:
#内网监听名称,这个在配置文件中没有需要添加
inter.broker.listener.name=INTERNAL
#内网监听规则,第一个是内网,第二个是外网,注意端口不一样,端口可以自己定义
listeners=INTERNAL://192.168.10.110:9092,EXTERNAL://192.168.10.110:9093
#活动监听规则,或者说开放的规则,第一个是内网,第二个是外网,123.45.67.89这个是外网ip,改为自己的ip就行
advertised.listeners=INTERNAL://192.168.10.110:9092,EXTERNAL://123.45.67.89:9093
#侦听器名称和安全协议之间的映射。此映射是配置内外网监听者的安全协议的
listener.security.protocol.map=INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT
配置完重启kafka就可以了,简单记录一下。