我正在尝试为apachekafka设置一个ssh隧道,从我的开发机器到在端口9092上侦听的三个kafka代理。我们必须通过跳转盒和Kafka星系群对话。直接向这些经纪人挖隧道是相当容易的。其中棘手的部分是,kafka代理使用必须在本地解析的播发主机名进行响应。在ubuntu中,我可以通过两个步骤来完成:
我的ssh config文件设置隧道并将主机名Map到正确的主机:
# Forward to all the kafka brokers
LocalForward 9195 kafka01:9092
LocalForward 9196 kafka02:9092
LocalForward 9197 kafka03:9092
# remap the kafka names. these need to resolve correctly for it to work
LocalForward kafka01.maindev.local:9092 kafka01:9092
LocalForward kafka02.maindev.local:9092 kafka02:9092
LocalForward kafka03.maindev.local:9092 kafka03:9092
这个设置允许我配置kafka连接到代理localhost:9191, localhost:9292, localhost:9393
然后,我可以将我的环回适配器Map到/etc/hosts中的主机名,以便它们正确解析。
127.0.2.1 kafka01.maindev.local
127.0.2.2 kafka02.maindev.local
127.0.2.3 kafka03.maindev.local
这个设置在ubuntu中运行良好,但我无法在macosx环境中运行。在我的mac上,只要我使用
ifconfig lo0 alias 127.0.2.1
一旦别名启动,就不能将任何主机名绑定到9092端口,因为它“已经在使用中”。
我在mac上设置这个隧道有什么错?
1条答案
按热度按时间cwtwac6a1#
刚刚通过这个aws msk获得你的Kafka集群boostrap服务器和zookeeper ip/主机名
添加到ssh配置
编辑主机文件
对于macos,创建虚拟接口
ssh到您的jumphost,并确保msk security group允许9092和2181入站到该主机