【发布时间】:2021-03-17 12:35:39
【问题描述】:
我们有以下 kafka-ssh-tunneling 设置。
ssh -N $JUMPHOST -L 2181:w.x.y.z:2181 -L 9092:a.b.c.d:9092 -L 9091:e.e.f.f:9092
- broker IP是a.b.c.d,有本地lo0设备别名,IP地址相同
- zookeper IP是w.x.y.z,有本地设备别名,IP地址相同
- kafkahost“入口”主机是e.e.f.f
我们计划的用例是kafkacat -C -b localhost:9091 -t <topic>
问题:
但是,连接到 kafka 主机/ Zookepers 工作正常
kafka 客户端(例如 kafkacat )通过其主机名 ip-a.b.c.d.eu-central-1.compute.internal 访问代理,而不是通过其 IP。
为了抵消,我在 /etc/hosts 中添加了条目
a.b.c.d ip-a.b.c.d.eu-central-1.compute.internal
还是不行 虽然 ping 到该主机名是成功的。
Nslookup 给出
Non-authoritative answer:
Name: ip-a.b.c.d.eu-central-1.compute.internal
Address: a.b.c.d
** server can't find ip-a.b.c.d.eu-central-1.compute.internal: NXDOMAIN
问题: 有没有办法告诉kafka通过IP而不是通过主机名连接代理? 如果没有,启动本地 dns 服务器是否可以解决问题?
【问题讨论】:
标签: apache-kafka ssh-tunnel kafkacat