我们有以下 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
- 代理 IP 为abcd,有本地 lo0 设备别名与相同的 IP 地址
- zookeper IP 为wxyz , 有相同 IP 地址的本地设备别名
- kafkahost“入门”主机是eeff
我们计划的用例是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 服务器是否可以解决问题?