mac osx将主机名流量转发到ssh隧道

w8ntj3qf  于 2021-06-07  发布在  Kafka
关注(0)|答案(1)|浏览(390)

我正在尝试为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上设置这个隧道有什么错?

cwtwac6a

cwtwac6a1#

刚刚通过这个aws msk获得你的Kafka集群boostrap服务器和zookeeper ip/主机名

aws kafka describe-cluster --cluster-arn <kafka arn>

添加到ssh配置

LocalForward 127.0.0.1:9092  <aws-bootstrap-1>:9092
LocalForward 127.0.0.2:9092 <aws-bootstrap-2>:9092
LocalForward 127.0.0.3:9092 <aws-bootstrap-3>:9092
LocalForward 127.0.0.4:2181  <zookeeper-ip-1>:2181
LocalForward 127.0.0.5:2181  <zookeeper-ip-2>:2181
LocalForward 127.0.0.6:2181  <zookeeper-ip-2>:2181

编辑主机文件


# kafka

127.0.0.1 <aws-bootstrap-1>
127.0.0.2 <aws-bootstrap-2>
127.0.0.3 <aws-bootstrap-3>

对于macos,创建虚拟接口

sudo ifconfig lo0 alias 127.0.0.2 up
sudo ifconfig lo0 alias 127.0.0.3 up
sudo ifconfig lo0 alias 127.0.0.4 up
sudo ifconfig lo0 alias 127.0.0.5 up
sudo ifconfig lo0 alias 127.0.0.6 up

ssh到您的jumphost,并确保msk security group允许9092和2181入站到该主机

./kafka-topics.sh --list --bootstrap-server 127.0.0.1:9092,127.0.0.2:9092,127.0.0.3:9092

./kafka-configs.sh --zookeeper 127.0.0.4:2181,127.0.0.5:2181,127.0.0.6:2181 --describe --entity-name <your_topic>  --entity-type topics

相关问题