如何连通私有子网中的 MSK / Kafka 集群?

MSK 集群通常都是建在私有子网中的,这给本地访问带来了很多麻烦,特别是需要在本地使用 Kafka GUI 客户端管理和读写 MSK 数据的时候。本文会给出一套解决方案。

我们这里讨论的问题有一点特殊性,那就是:由于 MSK 是托管服务,它的 Broker 主机名虽然映射了一个私有的 IP 地址,但是不能通过 SSH 登录的,这是比较特殊的一个地方,另一个地方是:Kafka 集群基本都是三个以上的 Broker,它的连接地址往往是三台以上的主机+端口号,这是另一个比较特殊的地方。

通常,通过 SSH Tunnel 建立端口端口转发是首先会被想到的解决方案,但是,测试并没有成功,当然,这不代表这一方向有问题,只是还没有找到正确的端口转发方法。

本文,我们使用专门的 Kafka 端口转发工具:Kafka Proxy,本地安装的 Kafka GUI 工具是 Offset Explorer ,测试环境如下:

信息项取值
Kafka Broker Listb-1.xxx.kafka.us-east-1.amazonaws.com:9092,b-2.xxx.kafka.us-east-1.amazonaws.com:9092,b-3.xxx.kafka.us-east-1.amazonaws.com:9092
位于公共子网中的堡垒机ec2-13-88-56-217.compute-1.amazonaws.com

首先,登录位于公共子网中的堡垒机,执行如下命令安装 kafka-proxy:

curl -Ls https://github.com/grepplabs/kafka-proxy/releases/download/v0.3.8/kafka-proxy-v0.3.8-linux-amd64.tar.gz | tar xz
sudo mv ./kafka-proxy /usr/local/kafka-proxy

然后启动代理服务,命令如下(注意替换命令行中的主机名):

kafka-proxy server --bootstrap-server-mapping "b-1.xxx.kafka.us-east-1.amazonaws.com:9092,0.0.0.0:9092,ec2-13-88-56-217.compute-1.amazonaws.com:9092" \--bootstrap-server-mapping "b-2.xxx.kafka.us-east-1.amazonaws.com:9092,0.0.0.0:9093,ec2-13-88-56-217.compute-1.amazonaws.com:9093" \--bootstrap-server-mapping "b-3.xxx.kafka.us-east-1.amazonaws.com:9092,0.0.0.0:9094,ec2-13-88-56-217.compute-1.amazonaws.com:9094" \--dynamic-listeners-disable

上述命令中最重要的是就是 --bootstrap-server-mapping 参数,其值由三部分组成,使用两个逗号分隔,格式为:

Kafka Broker 主机名:端口,本地绑定主机名:端口,暴露给远端连接的主机名:端口

这里只强调一点:测试表明,暴露给远端连接的主机名:端口必须要提供,否则本地客户端工具链接不上!,以下是本地客户端连接 MSK 的关键配置项,Broker List 的值:

ec2-13-88-56-217.compute-1.amazonaws.com:9092,ec2-13-88-56-217.compute-1.amazonaws.com:9093,ec2-13-88-56-217.compute-1.amazonaws.com:9094

以下是连接配置截图,MSK 集群使用 PLAINTEXT + NO Authentication!

image-20240408153155300

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/310963.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

标准版uni-app移动端页面添加/开发操作流程

页面简介 uni-app项目中,一个页面就是一个符合Vue SFC规范的.vue文件或.nvue文件。 .vue页面和.nvue页面,均全平台支持,差异在于当uni-app发行到App平台时,.vue文件会使用webview进行渲染,.nvue会使用原生进行渲染。…

单元测试四大过程

单元测试四大过程(蓝桥课学习笔记) 单元测试过程 单元测试是软件测试过程中的一个关键环节,它与集成测试、系统测试一样,分为测试策划、测试设计、测试执行和测试总结几个阶段。 单元测试过程中每个阶段需要完成的主要工作如下&…

Ubuntu配置VScode的C++环境

在Ubuntu系统下配置C环境,并运行helloworld 1. 下载VScode 我这里使用的是星火应用商店,在商店里面可以直接下载安装 http://spark-app.store/ 2.创建文件夹 3.启动VScode并打开该文件夹 4.安装以下几个扩展 PS:Clang这个插件别安装&…

使用TomCat写Film前后端项目0414

使用TomCat写Film前后端项目源文件0414-CSDN博客 实现功能: 得到数据库所有电影数据在首页显示出来 添加 删除 修改 点击修改,获取编号id,传入到根据id编号查询数据的控制器转发数据到 修改的jsp页面。 获取修改数据传入到根据id修改数据的控…

【word2pdf】Springboot word转pdf(自学使用)

文章目录 概要整体介绍具体实现官网pom文件增加依赖 遇到的问题本地运行OK,发布到Linux报错还是本地OK,但是Linux能运行的,但是中文乱码 小结 概要 Springboot word 转 pdf 整体介绍 搜了一下,发现了能实现功能的方法有四种 U…

JDBC 数据库连接

文章目录 JDBC核心技术第1章:JDBC概述1.1 数据的持久化1.2 Java中的数据存储技术1.3 JDBC介绍1.4 JDBC体系结构1.5 JDBC程序编写步骤 第2章:获取数据库连接三要素2.1 要素一:Driver接口实现类2.1.1 Driver接口介绍2.1.2 加载与注册JDBC驱动 2…

SETR——Rethinking系列工作,展示使用纯transformer在语义分割任务上是可行的,但需要很强的训练技巧

题目:Rethinking Semantic Segmentation from a Sequence-to-Sequence Perspective with Transformers 作者: 开源:https://fudan-zvg.github.io/SETR 1.研究背景 1.1 为什么要研究这个问题? 自[ 36 ]的开创性工作以来,现有的语义分割模型主要是**基于全卷积网络( FCN )的…

windows网络驱动开发

基石:WFP 1、简介 Windows过滤平台(Windows Filtering Platform, WFP),是从Vista系统后新增的一套系统API和服务。开发者可以在WFP框架已划分的不同分层中进行过滤、重定向、修改网络数据包,以实现防火墙、入侵检测系…

GNU Radio Radar Toolbox编译及安装

文章目录 前言一、GNU Radio Radar Toolbox 介绍二、gr-radar 安装三、具体使用四、OFDM 雷达仿真 前言 GNU Radio Radar Toolbox(gr-radar)是一个开放源码的工具箱,用于 GNU Radio 生态系统,主要目的是为雷达信号处理提供必要的…

JDK自带的线程池有哪些?

1、Executors.newFixedThreadPool(4); // 核心线程 传几个就有几个核心线程和最大线程数 2、Executors.newCachedThreadPool(); // 核心线程0 ,全是临时工,最大线程数为21亿 3、Executors.newScheduledThreadPool(4); // 传几个就有几个核心线程&#xf…

OSPF 开放式最短路径优先协议

目录 技术产生原因:因为RIP存在不足 OSPF优点: RIPV2和OSPFV2比较: 相同点: 不同点: OSPF的结构化部署 --- 区域划分 区域划分的主要目的: 区域边界路由器 --- ABR : 区域划分的要求&am…

怎么做预约功能_让服务变得更便捷

在快节奏的现代生活中,时间成为了我们最宝贵的财富。无论是工作、学习还是休闲娱乐,我们都希望能够更加高效地利用每一分每一秒。而预约功能的出现,正是为了满足这一需求,让我们的生活变得更加便捷、高效。 工具/原料 微信小程序…

ABAP CONVERSION_EXIT_ATINN_INPUT

CONVERSION_EXIT_ATINN_INPUT 因为在直接使用ZMM015这个特性值会报错 点击执行之后: 然而这个是N类型的,我们的筛选条件是C类型的,数据类型是不匹配的。 这个是经过转换的

第一届AI Agent智能体现场开发大赛报名开启!8月上旬火热开赛~

由联想拯救者、AIGC开放社区、英特尔携手主办的“AI生成未来第二届拯救者杯OPENAIGC开发者大赛”已经正式启动,“2024 AI Agent极限挑战赛”作为特设专项赛道,也将同步于8月上旬开赛,参赛者将在更加紧张刺激的现场比赛中展现其技术与创造力。…

ActiveMQ 任意文件上传漏洞复现

一、使用弱口令登陆 ​ 访问 http://ip:8161/admin/ 进入admin登陆页面,使用弱口令登陆,账号密码皆为 admin,登陆成功后,headers中会出现验证信息 ​ 如: Authorization: Basic YWRtaW46YWRtaW4 # 二、利用PUT协议上…

程序设计语言(LOGO/Scratch/VB/C)

程序设计语言篇 文章目录 程序设计语言篇一、LOGO编程语言二、Scratch语言三、Visual Basic语言3.1 开发工具及语言特点3.2 常量与变量3.3 数据类型3.4 运算符&表达式3.4 常用的内部函数3.5 输入和输出3.6 选择与循环结构3.7 消息对话框四、C语言4.1 开发工具及语言特点4.2…

OpenAI开设首个亚洲办公室,定制GPT-4模型Token成本降低47%|TodayAI

OpenAI今日宣布,在日本东京设立新办公室,标志着该公司在亚洲市场的正式扩展。东京作为全球科技领域的领导者,其独特的服务文化和创新社区,是OpenAI选择作为亚洲第一站的理想地点。公司致力于与日本政府、当地企业和研究机构合作&a…

【解决】Spring Boot创建项目常见问题

🎥 个人主页:Dikz12🔥个人专栏:Spring学习之路📕格言:吾愚多不敏,而愿加学欢迎大家👍点赞✍评论⭐收藏 目录 idea无maven选项 无效发行版17 类⽂件具有错误的版本 61.0, 应为 …

Vue 指令

Vue根据不同的指令&#xff0c;针对标签实现不同的功能 指令&#xff1a;带有v-前缀的特殊的标签属性 <!-- Vue指令--> <div v-html"str"></div><!-- 普通标签属性 --> <div class"box"></div> 目录 v-html v-sho…

反爬虫之代理IP封禁-协采云IP池

反爬虫之代理IP封禁-协采云IP池 1、目标网址2、IP封禁4033、协采云IP池 1、目标网址 aHR0cDovL3d3dy5jY2dwLXRpYW5qaW4uZ292LmNuLw 2、IP封禁403 这个网站对IP的要求很高&#xff0c;短时间请求十几次就会遭关进小黑屋。如下图&#xff1a; 明显是网站进行了反爬处理&…