当前位置: 首页 > article >正文

如何居家远程调试在公司内网的 Kafka 集群!内网穿透让内网集群秒变公网可访问

前言作为常年和分布式系统打交道的开发者我猜你一定遇到过这种糟心事想在家调试公司内网的 Kafka 集群却被防火墙、无公网 IP 这些问题卡得死死的 —— 要么只能等运维开端口要么被迫跑回公司原本 10 分钟能搞定的调试硬生生耗上大半天。最近我摸索出一个超实用的方法不用改 Kafka 任何配置也不用走繁琐的权限审批靠内网穿透就能把内网的 Kafka 端口暴露到公网居家远程调试 Kafka 直接丝滑拉满今天就把这套实操方案分享给大家。文章目录前言1.安装前准备1.1 操作系统要求1.2 java环境要求1.3 安装JDK2.安装 Kafka2.1 下载 Kafka2.2 创建数据日志目录2.3 配置Kafka配置文件2.4 配置zookeeper配置文件3.启动与停止Kafka3.1开启ZooKeeper3.2启动Kafka3.3停止zookeeper3.4停止kafkfa4.创建生产者topic和消费者topic简单示例5.安装cpolar内网穿透工具6.配置公网地址7.保留固定TCP公网地址总结总结1.安装前准备1.1 操作系统要求Kafka可以在多种 Linux 发行版 发行版上运行本文以CentOS 7为例其他发行版步骤类似只需调整包管理命令。1.2 java环境要求Kafka基于Java开发需安装JDK 8 或以上版本java-version1.3 安装JDK下载 JDKOracle 官网或 OpenJDK 官网下载 Linux 版本示例OpenJDK 8wgethttps://download.java.net/openjdk/jdk8u41/ri/openjdk-8u41-b04-linux-x64-14_jan_2020.tar.gz解压安装包mkdir-p/usr/local/javatar-zxvfopenjdk-8u41-b04-linux-x64-14_jan_2020.tar.gz-C/usr/local/java配置环境变量在 /etc/profile 末尾追加exportJAVA_HOME/usr/local/java/jdk1.8.0_41exportPATH$PATH:$JAVA_HOME/bin使配置生效source/etc/profile验证安装java-version2.安装 Kafka2.1 下载 Kafka官网下载示例版本3.6.2linux系统可以直接命令一键安装wgethttps://downloads.apache.org/kafka/3.9.1/kafka_2.13-3.9.1.tgztar-xzfkafka_2.13-3.9.1.tgzmvkafka_2.13-3.9.1 kafka2.2 创建数据日志目录在kafka解压目录同一路径下创建一个kafka_data用于装kafka和zookeeper的log和数据等mkdir-p/opt/kafka_datamkdir-p/opt/kafka_data/zookeepermkdir-p/opt/kafka_data/logmkdir-p/opt/kafka_data/log/kafkamkdir-p/opt/kafka_data/log/zookeeper2.3 配置Kafka配置文件编辑这个文件broker.id0port9092host.nameiplog.dirs/opt/kafka_data/log/kafkazookeeper.connectlocalhost:21812.4 配置zookeeper配置文件dataDir/opt/kafka_data/zookeeperdataLogDir/opt/kafka_data/log/zookeeperclientPort2181maxClientCnxns100tickTimes2000initLimit10syncLimit53.启动与停止Kafka3.1开启ZooKeeper开启ZooKeeper./zookeeper-server-start.sh../config/zookeeper.properties3.2启动Kafka./kafka-server-start.sh../config/server.properties验证是否启动成功jps输出应包含QuorumPeerMain Kafka3.3停止zookeeper./zookeeper-server-stop.sh../config/zookeeper.properties3.4停止kafkfa./kafka-server-stop.sh../config/server.properties4.创建生产者topic和消费者topic简单示例在一个终端执行创建生产者 (推消息到shan)cd/opt/bin/#进入kafka目录./kafka-console-producer.sh --broker-list192.168.42.140:9092--topicwd_test#wd_test你要建立的topic名在一个终端执行创建消费者 从shan上消费消息)cd/opt/bin/#进入kafka目录./kafka-console-producer.sh --broker-list192.168.42.140:9092--topicwd_test#消费shan中topic消息查看效果 一个终端不断输入推送的消息另一个终端则消费这个消息查看当前主题./kafka-topics.sh--zookeeperlocalhost:2181--list你正在家里远程办公突然接到任务需要验证一个新业务模块的消息生产与消费逻辑。但Kafka集群部署在公司内网测试环境没有公网IP防火墙也不开放9099/9092端口——你既无法连接Broker创建Topic也无法从本地启动生产者或消费者进行调试。传统的做法是提交代码到CI/CD触发部署慢求运维临时开防火墙麻烦或干脆去公司不现实有没有更敏捷的方式有借助内网穿透工具我们可以将内网Kafka的9092端口安全暴露到公网。只需一条隧道命令你的本地开发机就能像在内网一样通过 kafka-topics.sh 创建测试 Topic用 kafka-console-producer.sh 发送消息用 kafka-console-consumer.sh 实时消费验证整个过程无需改动 Kafka 配置、无需网络权限审批5 分钟打通内外网让开发调试回归高效。跟我一起来操作吧~5.安装cpolar内网穿透工具cpolar 可以将你本地电脑中的服务如 SSH、Web、数据库映射到公网。即使你在家里或外出时也可以通过公网地址连接回本地运行的开发环境。❤️以下是安装cpolar步骤使用一键脚本安装命令sudocurlhttps://get.cpolar.sh|sh安装完成后执行下方命令查看cpolar服务状态如图所示即为正常启动sudosystemctl status cpolarCpolar安装和成功启动服务后在浏览器上输入虚拟机主机IP加9200端口即:【ip:9200】访问Cpolar管理界面使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可打开浏览器访问本地9200端口使用cpolar账户密码登录即可,登录后即可对隧道进行管理。6.配置公网地址通过配置你可以在本地 WSL 或 Linux 系统上运行 SSH 服务并通过 Cpolar 将其映射到公网从而实现从任意设备远程连接开发环境的目的。隧道名称可自定义本例使用了:zookeeper注意不要与已有的隧道名称重复协议tcp本地地址2181端口类型随机临时TCP端口地区China Top创建成功后打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了公网地址接下来就可以在其他电脑或者移动端设备异地上使用任意一个地址在终端中访问即可。tcp 表示使用的协议类型2.tcp.cpolar.top是 Cpolar 提供的域名13917是随机分配的公网端口号通过Cpolar提供的公网地址和端口Kafka就能从本地启动生产者或消费者进行调试啦生产./kafka-console-producer.sh --broker-list2.tcp.cpolar.top:13917--topicshan消费./kafka-console-consumer.sh --bootstrap-server2.tcp.cpolar.top:13917--topicshan7.保留固定TCP公网地址使用cpolar为其配置TCP地址该地址为固定地址不会随机变化。选择区域和描述有一个下拉菜单当前选择的是“China Top”。右侧输入框用于填写描述信息。保留按钮在右侧有一个橙色的“保留”按钮点击该按钮可以保留所选的TCP地址。列表中显示了一条已保留的TCP地址记录。地区显示为“China Top”。地址显示为“26.tcp.cpolar.top:13166”。登录cpolar web UI管理界面点击左侧仪表盘的隧道管理——隧道列表找到所要配置的隧道Kafka点击右侧的编辑。修改隧道信息将保留成功的TCP端口配置到隧道中。端口类型选择固定TCP端口预留的TCP地址填写保留成功的TCP地址点击更新。创建完成后打开在线隧道列表此时可以看到随机的公网地址已经发生变化地址名称也变成了保留和固定的TCP地址。最后就可以使用命令测试啦总结其实不止 Kafka像 Zookeeper、Redis 这类部署在内网的服务都能靠这种内网穿透的思路解决远程访问问题。作为开发者咱们追求的就是高效解决问题不用被环境和网络限制住手脚。置到隧道中。端口类型选择固定TCP端口预留的TCP地址填写保留成功的TCP地址点击更新。创建完成后打开在线隧道列表此时可以看到随机的公网地址已经发生变化地址名称也变成了保留和固定的TCP地址。最后就可以使用命令测试啦总结其实不止 Kafka像 Zookeeper、Redis 这类部署在内网的服务都能靠这种内网穿透的思路解决远程访问问题。作为开发者咱们追求的就是高效解决问题不用被环境和网络限制住手脚。希望今天这个小技巧能帮到经常和内网服务打交道的你少走点弯路多省点时间在真正的开发调试上。如果有其他好用的远程调试小妙招也欢迎在评论区聊聊

相关文章:

如何居家远程调试在公司内网的 Kafka 集群!内网穿透让内网集群秒变公网可访问

前言 作为常年和分布式系统打交道的开发者,我猜你一定遇到过这种糟心事:想在家调试公司内网的 Kafka 集群,却被防火墙、无公网 IP 这些问题卡得死死的 —— 要么只能等运维开端口,要么被迫跑回公司,原本 10 分钟能搞定…...

利用快马平台快速构建鸿蒙pc镜像下载验证工具原型

最近在研究鸿蒙系统的PC版本适配工作,发现获取官方镜像是个不小的门槛。官方渠道的下载链接分散在不同页面,版本信息也不够直观,每次下载完还得手动校验文件完整性,整个过程相当繁琐。于是想做个工具来简化这个流程,正…...

AMD Ryzen处理器深度调试指南:解锁硬件性能的终极利器

AMD Ryzen处理器深度调试指南:解锁硬件性能的终极利器 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://gi…...

测试缺陷类型词云图分析:聚焦“需求理解错误”

在软件质量保障的浩瀚星图中,缺陷是不可避免的阴影。通过对海量缺陷报告进行文本挖掘与可视化分析,一张揭示问题本质的“词云图”便清晰浮现。在这张图上,若“需求理解错误”一词以其巨大、醒目的字体高频占据中心,它便不再是一个…...

全球AI薪资热力图:旧金山VS深圳的残酷对比

一场不平等的技术竞赛当我们谈论人工智能(AI)的未来时,旧金山湾区与深圳无疑是最为闪耀的两个坐标。前者是硅谷的心脏,全球科技创新的策源地;后者是中国乃至世界硬件制造与新兴科技应用的前沿阵地。然而,对…...

双倍效率:在快马平台中融合chatgpt实现智能代码生成与即时调试

最近在开发过程中,我发现了一个能显著提升效率的工作方式:将ChatGPT的智能生成能力与InsCode(快马)平台的即时调试环境结合起来。这种组合让我在代码编写、问题排查和逻辑优化上都节省了大量时间,今天就来分享一下具体的使用体验。 自然语言…...

Modbus实战:从功能码到网络选型的工业通信指南

1. Modbus协议基础:从功能码到设备角色 第一次接触Modbus时,我被它简洁的设计震惊了——这个诞生于1979年的协议,至今仍是工业自动化领域的通用语言。就像乐高积木一样,Modbus用几个基础功能码就能搭建出复杂的控制系统。让我们先…...

目标跟踪模型在LaSOT上表现不佳?可能是这14个属性在‘捣鬼’——深度属性分析指南

LaSOT目标跟踪性能优化:14种挑战属性的深度解析与实战应对 当你的目标跟踪模型在LaSOT基准测试中表现不如预期时,问题可能隐藏在数据集精心设计的14种挑战属性中。这些属性不是简单的标签,而是揭示了模型在不同复杂场景下的真实能力边界。本文…...

STM32开发环境搭建:Keil5 MDK安装与驱动配置全指南

1. Keil5 MDK安装前的准备工作 第一次接触STM32开发的朋友,往往会在环境搭建这一步卡住。我刚开始玩STM32的时候,光是安装Keil就折腾了大半天。现在回想起来,其实只要提前做好这几项准备,整个过程会顺利很多。 首先说说硬件准备。…...

低显存福音:实测Neeshck轻量化工具,16G显卡流畅跑Z-Image模型

低显存福音:实测Neeshck轻量化工具,16G显卡流畅跑Z-Image模型 1. 轻量化方案的诞生背景 1.1 大模型与小显存的矛盾 Z-Image作为国产文生图模型的代表,其强大的生成能力有目共睹。但原生部署对显存的高要求(通常需要20GB以上&am…...

Phi-3-mini-128k-instruct效果对比:在Reasoning-Over-Code基准中超越Claude-3-Haiku

Phi-3-mini-128k-instruct效果对比:在Reasoning-Over-Code基准中超越Claude-3-Haiku 1. 模型简介 Phi-3-Mini-128K-Instruct是一个38亿参数的轻量级开放模型,属于Phi-3系列的最新成员。这个模型通过Phi-3数据集进行训练,该数据集包含合成数…...

MelonLoader终极指南:7个步骤掌握Unity游戏模组加载器的完整教程

MelonLoader终极指南:7个步骤掌握Unity游戏模组加载器的完整教程 【免费下载链接】MelonLoader The Worlds First Universal Mod Loader for Unity Games compatible with both Il2Cpp and Mono 项目地址: https://gitcode.com/gh_mirrors/me/MelonLoader Me…...

高效使用Cursor Free VIP:5步全面解锁AI编程Pro功能终极指南

高效使用Cursor Free VIP:5步全面解锁AI编程Pro功能终极指南 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached yo…...

COMSOL二维单管渗透注浆模拟:简单又强大

comsol二维单管渗透注浆模拟 可以模拟用于多种土层注浆扩散效果 模型简单易懂,注浆管周边网格进行细化 有模拟案例,有视频详细操作最近,我一直在研究注浆技术在土层加固中的应用,特别是在如何模拟注浆过程中的扩散效果。经过一段时…...

C#实战:基于TouchSocket构建高性能WebSocket双向通信系统

1. WebSocket与TouchSocket核心概念 第一次接触WebSocket时,我被它的双向通信能力惊艳到了。想象一下快递员和收件人的关系:传统HTTP就像每次送货都要重新敲门确认身份(建立连接),而WebSocket则像快递员直接把包裹交给…...

5大维度解析zteOnu:让ONU设备管理效率提升300%的开源工具

5大维度解析zteOnu:让ONU设备管理效率提升300%的开源工具 【免费下载链接】zteOnu A tool that can open ZTE onu device factory mode 项目地址: https://gitcode.com/gh_mirrors/zt/zteOnu 问题引入:网络运维工程师的日常困境 你是否也曾面临这…...

ConvNeXt 改进 | 自研模块:LLM 的 AttnRes残差自注意力模块 + GAM 通道注意机制(Kimi 团队 2026),自研AttnRes-GAM注意力残差块 ,实现高效涨点,独家首发

本文教的是方法,也给出几种改进方法,二次创新结构,百变不离其宗,一文带你改进自己模型,科研路上少走弯路。 前言 本文解析的是由 Kimi (月之暗面) 团队发布的最新技术报告 《Attention Residuals》。在传统 Transformer 架构中,注意力模块产生的输出直接与残差流(Resid…...

NHPZ-10A/10B/10C 型平板式制动检验台全场景实战指南

全工况制动安全闭环:NHPZ-10A/10B/10C 型平板式制动检验台全场景实战指南在机动车安全性能检测体系中,平板式制动检验台是评估车辆制动系统可靠性的核心设备,其检测结果直接决定车辆能否安全上路。传统平板制动检测普遍存在工况模拟失真、数据…...

Godot资源解压器godotdec:从游戏资源保护到开发分析的技术实践

Godot资源解压器godotdec:从游戏资源保护到开发分析的技术实践 【免费下载链接】godotdec An unpacker for Godot Engine package files (.pck) 项目地址: https://gitcode.com/gh_mirrors/go/godotdec 在游戏开发与资源管理领域,Godot引擎的.pck…...

保姆级教程:在RflySim仿真平台用Python玩转大疆Livox激光雷达点云(附完整配置流程)

从零玩转RflySim与大疆Livox激光雷达:Python点云处理全实战指南 当无人机开发者需要测试激光雷达算法时,真实飞行测试成本高昂且风险大。RflySim仿真平台结合大疆Livox激光雷达的虚拟模型,为开发者提供了一个安全、高效的测试环境。本文将手把…...

根据应用场景TongWeb版本选购指南

TongWeb7.0.4企业版TongWeb8.0/7.0.8企业版(主推)TongWeb7.0.E/8.0.E嵌入版TongHttpServer(THS)应用开发语言JavaEE应用JavaEE/JakartaEE应用JavaEE/JakartaEE应用PHP应用、vue前端应用说明:1. PHP应用直接推荐THS。2. .NET Core应用不需要中…...

从华为实践学IPD:手把手教你写高通过率的Charter文档

华为IPD方法论实战:打造高价值Charter文档的7个关键步骤 在科技企业的研发管理领域,一份优秀的Charter文档往往决定着数千万甚至上亿研发投入的成败。华为IPD(集成产品开发)体系中的Charter开发流程,被全球众多科技企业…...

实战应用:在快马平台构建带缺陷的微项目,演练测试面试实战题

今天想和大家分享一个特别实用的软件测试学习方法——通过构建带缺陷的微项目来演练测试面试题。这个方法不仅帮助我顺利通过了最近的面试,还让我对测试工作有了更深入的理解。 为什么选择在线书店作为测试项目? 在线书店系统包含了软件测试中最常见的…...

JetBrains IDE重置工具终极指南:30天试用无限续杯的完整教程

JetBrains IDE重置工具终极指南:30天试用无限续杯的完整教程 【免费下载链接】ide-eval-resetter 项目地址: https://gitcode.com/gh_mirrors/id/ide-eval-resetter 你是否经历过这样的场景:深夜加班赶项目,JetBrains IDE突然弹出&qu…...

“AI人工智能+”政务一网通办多智能体协同建设方案:五层两体系总体架构、数据与安全体系、信创适配与实施运维

该方案是一份成熟的技术蓝图,它不仅仅是将AI简单叠加到政务系统,而是通过“多智能体协同”重构了业务组织逻辑。方案详细定义了从语料治理、模型微调、Agent协作、信创适配到安全合规的全链路工程细节,具有极强的实操性与前瞻性,适…...

Factory IO + S7-PLCSIM V18 仿真避坑指南:如何解决传感器信号丢失和传送带卡料问题

Factory IO与S7-PLCSIM V18工业仿真实战:传感器优化与传送带故障排除指南 在工业自动化仿真领域,Factory IO与西门子S7-PLCSIM V18的组合已经成为工程师验证智能工厂逻辑的高效工具链。这套解决方案能够完整模拟从物料加工到仓储的完整产线,但…...

别再手动写JSON Schema了!用智谱AI/DeepSeek的FunctionCall,5分钟搞定天气查询API对接

告别JSON Schema手写时代:用大模型FunctionCall极速对接天气API 开发聊天机器人时,最头疼的莫过于为每个新功能手动编写JSON Schema。上周我接手一个天气查询功能需求,原本预计要花半天时间定义参数结构、验证逻辑,结果用智谱AI的…...

OpenClaw技能市场:Qwen3.5-9B增强的自动化模块扩展

OpenClaw技能市场:Qwen3.5-9B增强的自动化模块扩展 1. 为什么需要技能市场? 去年我接手了一个内容运营项目,每天要处理大量重复性工作:从多个渠道收集资料、整理成Markdown格式、发布到不同平台。手动操作不仅耗时,还…...

基于C++实现时间片与高优先级抢占调度算法的进程与资源管理功能模拟操作系统OS

MockProcessCmd [Experiment]设计和实现基于时间片与高优先级抢占调度算法的进程与资源管理功能模拟 OS Computer operating system experiment. 开发环境 IDE:Visual Studio 2019Language:C STL 功能需求 设计和实现进程与资源管理,并…...

3大核心突破:解密m4s-converter如何实现B站缓存视频的智能重生

3大核心突破:解密m4s-converter如何实现B站缓存视频的智能重生 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 你是否曾面对B站缓存目…...