资讯动态

SkyWalking+若依上云与 Qwen3 本地 RAG 系统搭建实验报告

发布时间:2026/9/27 22:26:47 来源:尧图企业网站定制
作业内容 - 31 - 微服务链路追踪 SkyWalking 和微服务 JAVA 项目若依上云 - 32 - 大模型部署与实践01按照课程完成大模型部署和相关实战 - 33 - 大模型部署与实践续高性能推理与简单应用实战总要求给出详细实验步骤所有下载系统软件包、Docker 镜像、Maven/npm 依赖、大模型权重、Python 库全部使用最新国内源。实验环境 - 集群任务 31两节点 K8s 集群第十八周搭建——k8s-master3.8G 内存承担 SkyWalking 观测平台 k8s-node110G 内存承担 MySQL/Redis/Nacos/若依业务系统均为 Ubuntu 24.04 LTS - 开发机任务 32/33 及构建验证Windows 本机跑 Ollama/vLLM/RAG 实战不占集群资源 - 软件版本Docker 27JDK 17Maven 3.9Node 18。0.1 汇总表用途国内源配置方式pipPython 包清华 TUNAhttps://pypi.tuna.tsinghua.edu.cn/simplepip config setcondaAnaconda清华 TUNA anaconda 镜像.condarcnpm前端包npmmirrorhttps://registry.npmmirror.comnpm config setMavenJava 依赖阿里云https://maven.aliyun.com/repository/publicsettings.xmlDocker 镜像docker.1ms.run/docker.m.daocloud.io/docker.1panel.live/docker.nju.edu.cndaemon.jsonHuggingFace 模型hf-mirrorhttps://hf-mirror.com环境变量HF_ENDPOINT大模型权重首选魔搭 ModelScopehttps://www.modelscope.cn国内原生无需镜像modelscopeCLIOllama 模型魔搭镜像https://modelscope.cnOLLAMA_HF_MIRROR环境变量GitHub 仓库Gitee 镜像 / ghproxy 加速https://ghfast.top/改克隆地址aptUbuntu 24.04 系统包阿里云mirrors.aliyun.com/ubuntudeb822 格式ubuntu.sources0.2 配置 apt 国内源Ubuntu 24.04 的源文件是/etc/apt/sources.list.d/ubuntu.sources不是老系统的sources.list。验证apt update的输出里应出现mirrors.aliyun.com/ubuntu noble ...字样。0.3 安装基础工具一、JDK 171.1 安装Ubuntu 24.04 官方仓库自带 OpenJDK 17node1上执行1.2 验证1.3 多 JDK 共存时切换默认版本二、Maven 3.92.1 下载2.2 解压安装2.3 配置环境变量2.4 配置阿里云镜像仓库装完必须做否则 Maven 会去国外中央仓库拉依赖非常慢2.5 验证三、Node.js 183.1 npmmirror 二进制包推荐3.2 配置 npm 国内源3.3 验证四、Docker 274.1 添加阿里云 docker-ce 源4.2 安装 Docker Engine Compose 插件4.2 配置镜像加速器关键步骤4.4 验证五、Python 3.121. 确认 Python 版本Win11 一般装过 3.12没有就去 python.org 下# 2. 创建虚拟环境# 3. 激活#4. 配置清华源#5. 验证六、一键总验证全部装完后依次执行以下命令输出全部符合预期即环境就绪七、常见问题现象原因解决mvn命令找不到环境变量未生效重开终端或source /etc/profile.d/maven.shmvn -v显示 3.8.x装成了 apt 版sudo apt remove maven后按本文第二章重装docker权限拒绝未加入 docker 组sudo usermod -aG docker $USER后重新登录docker run hello-world超时加速地址失效换 daemon.json 中的地址后systemctl restart dockerpip 报externally-managed-environment直接对系统 Python 安装先source ~/venvs/week22/bin/activatepython3 -m venv报错缺 ensurepip未装 python3-venvsudo apt install -y python3-venv下载 Maven/Node 时 404版本号已更新到对应镜像目录页查看最新版本号替换一、任务 31SkyWalking 链路追踪 若依微服务项目上云1.1 实验目标使用 Docker Compose 部署 SkyWalkingOAP UI 存储层部署若依微服务版 RuoYi-Cloud 的基础环境Nacos、MySQL、Redis通过 Java Agent 无侵入接入 SkyWalking观察全链路调用拓扑与 Trace将整套系统部署到云服务器/集群完成上云。1.2 节点分工规划本实验为两节点 K8s 集群 一台开发机机器角色内存本任务负责的内容k8s-master如 10.0.0.201master 节点3.8G观测平台SkyWalking OAP UI BanyanDB约占 2.2G剩余留给控制面k8s-node1如 10.0.0.202worker 节点10G业务承载MySQL Redis Nacos 若依全部微服务约占 5.5G开发机Win11构建机/客户端—拉代码、分发文件scp、浏览器访问验证任务 32/33 大模型实验也在此机构建按方案 A 放在 node1 上执行分工依据master 内存小只放轻量观测组件BanyanDB 比 ES 省一半内存所以选 BanyanDBnode1 内存大承载全部业务。两节点均需先完成第〇节的国内源配置和《Ubuntu2404环境安装手册》的环境安装。1.3 步骤 1准备目录并拉取代码开发机为 Win11以下全部为 PowerShell 命令步骤 1.1开发机上先确认 Git 可用Win11 一般没有预装用 winget 装或到 https://git-scm.com/download/win 下载步骤 1.2拉取若依代码Gitee 国内源无需代理步骤 1.3构建在workerk8s-node1上执行方案 A构建与运行同机省去传输 jarnode1 上同样git clone该仓库即可。构建命令在 node1 的 bash 里步骤1.4 Docker Compose 部署基础设施在 worker 节点 k8s-node1 上执行① 建目录 复制初始化 SQL② 写 compose 文件③ 启动并验证浏览器打开 http://k8s-node1的IP:8848/nacos 账号/密码 nacos/nacos导入配置ry_config_*.sql导入 MySQL 时已自动把 RuoYi 全套配置写入了 Nacos 的配置中心public 命名空间 DEFAULT_GROUP共 9 条无需手工导入。但需要在 Nacos 控制台配置管理 → 配置列表逐条检查并编辑因为方案 A 的微服务 jar 在 node1 宿主机上运行不在容器里ruoyi-system-dev.yml中 Redis 的 host 应为127.0.0.1密码留空与 compose 一致MySQL 的 JDBC URL 改为jdbc:mysql://127.0.0.1:3306/ry-cloud?useSSLfalseallowPublicKeyRetrievaltruecharacterEncodingutf8serverTimezoneGMT%2B8账号 root / root123。若后续把微服务也容器化才需要改回容器名ruoyi-mysql、ruoyi-redis容器名只在 Docker 网络内可解析。1.4 步骤 2部署 SkyWalking在 master 节点 k8s-master 上执行编写docker-compose-skywalking.yml浏览器打开 http://k8s-master的IP:8080 出现 SkyWalking UI 即部署成功1.5 步骤 3若依微服务接入 SkyWalking AgentAgent 下载在 worker 上执行上报地址指向 master1.下载 Agentapache 官方国内可直达若慢用 ghproxy 加速2.在workerk8s-node1上启动各微服务并挂载 Agent以ruoyi-gateway为例其余ruoyi-auth、ruoyi-modules-system等同理改SW_AGENT_NAME。注意Agent 上报地址必须写 master 的 IP不能再写 127.0.0.1因为若依在 worker 上、OAP 在 master 上3.验证链路追踪在开发机浏览器上验证登录若依前端http://k8s-node1的IP或 ruoyi-ui 端口执行登录、查询用户列表、新增字典等操作打开 SkyWalking UIhttp://k8s-master的IP:8080→General Service → 拓扑图Topology应看到ruoyi-gateway → ruoyi-auth / ruoyi-modules-system → MySQL/Redis的调用拓扑Trace 查询任选一条请求可展开完整的 Span 树Gateway → System → SQL/Redis包含每段耗时资源验证截图在 master 和 worker 上分别执行free -h以证明各节点内存规划合理。1.6 步骤 4若依项目上云基于已有 K8s 集群的两节点部署本实验的上云 将整套系统部署到第十八周搭建的 K8s 集群1 master 1 worker上跨节点协同运行而不是再买一台单机云服务器。这正好复用了十八周的集群成果。两台节点按第〇节完成国内源配置、按《Ubuntu2404环境安装手册》安装 Docker 27两台都要装master 与 worker 各自用 docker compose 跑自己的组件。网络放行若节点间有防火墙worker 必须能访问 master 的11800Agent 上报、8080UI开发机必须能访问 worker 的80/8848与 master 的8080。K8s 集群节点间通常无防火墙阻碍。连通性验证节点之间在 worker 的 bash 里用telnet 10.0.0.200 11800或nc -zv 10.0.0.200 11800开发机 Win11 上用 PowerShell 原生 cmdlet无需装 telnet 客户端powershell Test-NetConnection 10.0.0.81 -Port 80 # 期望 TcpTestSucceeded : True若依前端 Test-NetConnection 10.0.0.81 -Port 8848 # Nacos 控制台 Test-NetConnection 10.0.0.200 -Port 8080 # SkyWalking UI部署顺序先 master 上起 SkyWalking1.5 节→ 再 worker 上起中间件1.4 节→ 最后 worker 上起若依微服务1.6 节。顺序错了会导致 Agent 上报失败、Nacos 找不到。开机自启给两台节点的 docker compose 加restart: always微服务写start-all.sh并注册 systemd 服务systemctl enable ruoyi保证节点重启后系统自动恢复。最终验证开发机浏览器 -http://k8s-node1的IP→ 若依登录页正常 -http://k8s-master的IP:8080→ SkyWalking 拓扑有数据 -kubectl get nodes→ 两节点 Ready。截图kubectl get nodes -o wide、两台机器free -h、若依登录页、SkyWalking 拓扑各 1 张报告中说明master 承担观测、worker 承担业务的部署架构。二、任务 32大模型部署与实践01—— Ollama 本地部署 Qwen3执行位置说明本任务与集群无关全部在开发机Windows 本机或任一台 Ubuntu上完成不占用 K8s 集群资源。集群两台节点内存留给任务 31。2.1 实验目标安装 Ollama 并配置国内模型源部署通义千问 Qwen3当前最新开源版本并完成命令行对话通过 OpenAI 兼容 API 用 Python 调用本地大模型部署 Open-WebUI 图形化对话界面。2.2 步骤 1安装 OllamaWindows到https://ollama.com/download下载OllamaSetup.exe安装安装后在 PowerShell 中同样执行下列命令环境变量改为系统属性→环境变量图形化配置。2.3 步骤 2配置国内模型源关键否则下载极慢按 0.7 节已配置OLLAMA_HF_MIRRORhttps://modelscope.cn魔搭社区镜像国内直连满速。确认生效① 永久写入环境变量推荐用 setx一次到位② 完全重启 Ollama关键不做这步环境变量不生效看屏幕右下角托盘区找到 Ollama 的羊驼图标右键 → Quit Ollama彻底退出从开始菜单重新打开 Ollama托盘图标重新出现③ 验证生效新开一个 PowerShell 窗口2.4 步骤 3拉取并运行 Qwen3我的这台开发机是集显拉两个小参数模型就够拉完后运行对话测试2.5 步骤 4通过 OpenAI 兼容 API 调用Ollama 内置 OpenAI 兼容接口http://localhost:11434/v1。① 激活 venv路径和命令都不同如果你之前在 Win11 上建过 venv比如C:\Users\JACK\venvs\week22激活成功的标志命令行前面出现(week22)前缀。② 装 SDK清华源2.6步骤 5测试 OpenAI 兼容 API把下面代码存为C:\Users\JACK\venvs\week22\test_ollama.py运行venv 激活状态下确保 Ollama 托盘在运行2.7 步骤 6部署 Open-WebUI 图形界面① 确认 Docker Desktop 在运行任务栏看 Docker 图标鲸鱼没开就先启动等它变绿/稳定。② 直接执行截图里的命令看到open-webui状态 Up 就可以打开 http://localhost:3000 注册管理员账号了。三、任务 33大模型部署与实践续—— vLLM 高性能推理 RAG 应用实战步骤 3.1拉取嵌入模型RAG 的“向量引擎”RAG 除了对话模型还需要一个嵌入模型把文档转成向量。同样走魔搭源PowerShell 执行验证步骤 3.2安装 RAG 依赖包清华源激活任务 32 的 venv 后安装步骤 3.3准备知识库文档建个目录放几篇“课程笔记”作为知识库在里面建两个 txt 文件k8s.txt本课程 K8s 集群采用 kubeadm 自建包含 k8s-master10.0.0.200和 k8s-node110.0.0.81两个节点。master 节点内存 8GB部署了 SkyWalking OAP、UI 和 BanyanDB。node1 节点内存 10GB部署了 MySQL、Redis、Nacos 和若依微服务。集群 CRI 运行时是 containerd。llm.txt任务32使用 Ollama 在 Windows 开发机上部署了 Qwen3 模型通过魔搭社区拉取 GGUF 格式。 Ollama 内置 OpenAI 兼容接口地址是 http://localhost:11434/v1。 嵌入模型 nomic-embed-text-v1.5 输出 768 维向量。 任务33基于 LangChain FAISS 构建本地 RAG 知识库问答应用。步骤 3.4编写 RAG 问答脚本存为C:\Users\JACK\venvs\week22\rag_demo.py步骤 3.5运行并截图步骤3.6 常见问题与排查现象原因解决ollama pull速度仅几十 KB/s未走国内源确认OLLAMA_HF_MIRRORhttps://modelscope.cn后重启 Ollamadocker pull超时默认走 Docker Hub按 0.2 节配置多加速地址后systemctl restart dockerMaven 下载卡住未配阿里云镜像检查settings.xml的mirrorOllama 启动模型报 OOM内存/显存不足换更小量化版如qwen3:0.6b或加大虚拟内存SkyWalking UI 无数据Agent 地址配错确认-DSW_AGENT_COLLECTOR_BACKEND_SERVICESOAP机器IP:11800且防火墙放行vLLM 启动报 CUDA 不足max-model-len过大降低为 4096或加--gpu-memory-utilization 0.9pip install报externally-managed-environmentUbuntu 24.04 启用 PEP 668按 0.3 节创建并激活 venv 后再安装改了 apt 源不生效24.04 用 deb822 格式按 0.6 节修改/etc/apt/sources.list.d/ubuntu.sources而非sources.listapt install nodejs版本过低24.04 仓库自带 18.x若依前端要求 ≥18 可直接用需更高版本再通过 nvmnpmmirror 镜像安装四、实验总结通过统一配置国内镜像源Docker 多源加速、pip/npm/Maven 国内镜像、ModelScope 模型源全部资源下载均在国内网络环境下高速完成无任何外网依赖任务 31 完成了 SkyWalking 三件套存储 OAP UI的容器化部署若依微服务通过 Java Agent 无侵入接入实现网关→认证→系统模块→中间件的全程链路可视化采用master 承担观测平台、worker 承担业务系统的两节点分工架构完成上云部署并根据节点内存对每个组件做了资源限制任务 32 使用 Ollama 魔搭镜像源完成了 Qwen3 大模型的本地部署、API 调用与 WebUI 交互任务 33 使用 ModelScope 原生源下载权重通过 vLLM 完成高性能推理服务并与 Ollama 做了吞吐对比最后基于 LangChain FAISS bge 中文嵌入完成了本地 RAG 知识库问答实战收获掌握了微服务可观测性上云与大模型私有化部署两条完整工程链路以及在国内网络环境下的全源替代方案。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑