背景
内网kafka集群需要映射到其他环境,供其他消费这消费数据;测试后发现,nat之后的ip 端口是通的,但是无法消费数据。
解决方案
kafka 使用 advertised.listeners 参数,将Kafka的链接方式从内网IP更换成主机名或者域名,这样消费者在其他环境消费的时候返回的就是主机名,不再是内网kafka的IP;从而解决映射之后无法消费问题。
先决条件
- 在内网环境,所有需要使用kafka的链接配置都要改成新的主机名,__且保证能正确的解析到内网IP__(可以用DNS或者添加hosts文件解决)
- 在其他环境,消费者配置kafka的主机名加端口,多个ip用逗号分隔,__且保证能正确解析到映射后的IP__
实施方案
kafka 配置添加主机名
添加之后检查zk里面的kafka信息