跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Shell / BashAI

Milvus 部署架构选型与 Linux Docker 实战指南

Milvus 部署架构选型涉及 Milvus Lite、Standalone 和 Distributed 三种方案,根据项目规模选择。Linux 环境下通过 Docker 脚本可一键部署 Standalone 版本,需开放特定端口并验证容器状态。部署后可通过 WebUI 查看服务信息,生产环境需注意安全配置与资源限制。

FlinkHero发布于 2026/2/4更新于 2026/10/218.3K 浏览
Milvus 部署架构选型与 Linux Docker 实战指南

Milvus 部署架构选型与 Linux Docker 实战指南

在了解 Milvus 核心结构后,落地部署是关键。本文将介绍部署架构选型、Linux Docker 实战及 WebUI 使用。

Milvus 部署流程图

一、部署架构选型:按项目阶段选对方案

Milvus 提供多种部署选项,核心是按需选择——不同项目规模、不同阶段,对应不同部署方式,不用盲目追求复杂架构。

1. 三大核心部署方案对比

部署方案适用场景支持数据量核心优势限制
Milvus Lite快速原型开发、Jupyter Notebook 测试、边缘设备最多几百万向量轻量(Python 库)、无需复杂部署、一键启动不支持 Windows 系统、无高可用
Milvus Standalone(单机版)个人学习、小团队测试、中型项目(非核心业务)最高 1 亿向量Docker 一键部署、组件集成、支持主从复制高可用横向扩展能力有限
Milvus Distributed(分布式版)企业级生产、核心业务、大规模数据1 亿 - 千亿向量云原生架构、水平扩展、冗余备份、高性能部署复杂、需 K8S 集群、运维成本高

2. 额外选择:云服务版(懒人首选)

如果不想自己搭建和运维,直接选择云厂商提供的 Milvus 服务(如阿里云 Milvus),开箱即用,支持弹性扩容,适合企业快速落地。 官方链接:阿里云 Milvus 文档

3. 选型建议

  • 新手/学习者:优先选 Milvus Standalone,部署简单,能覆盖大部分学习和测试场景;
  • 原型开发:用 Milvus Lite,直接集成到 Python 代码,快速验证想法;
  • 生产环境:数据量 1 亿以下且预算有限,用 Standalone+ 主从复制;数据量超 1 亿或核心业务,用 Distributed(K8S 部署)或云服务。

二、Milvus 分层架构:看懂部署的核心组件

不管哪种部署方案(Docker 版),核心分层架构都一致,只是分布式版会将组件拆分到不同节点,单机版打包在一个容器中。

1. 分层架构图解(简化版)

┌───────────────────────────────┐
│ Coordinator(协调层)          │ → 管理元数据、调度任务、负载均衡
├───────────────┬───────────────┤
│ Query Node    │ Data Node     │ → 业务层:Query Node 处理查询,Data Node 处理数据存储
├───────────────┴───────────────┤
│ Object Storage(存储层)        │ → 持久化存储:支持 MinIO、AWS S3 等
└───────────────────────────────┘

2. 核心组件作用(新手无需深入,了解即可)

  • Coordinator:整个系统的'大脑',管理集群元数据(如 Collection、分区信息),分配任务给其他节点;
  • Query Node:'查询执行者',处理向量搜索、标量过滤,支持内存索引和 GPU 加速;
  • Data Node:'数据管理者',处理数据插入、日志持久化,保障数据一致性;
  • Object Storage:'数据仓库',存储持久化数据,避免容器重启后数据丢失。
  • 三、Linux 实战:Docker 一键部署 Milvus Standalone

    这是最适合新手的部署方式,全程用脚本操作,无需手动配置组件,以 Linux 服务器为例(其他发行版通用)。

    1. 部署前准备

    • 服务器要求:Linux 系统(CentOS、Ubuntu 均可),建议 2 核 4G 以上配置(学习测试足够);
    • 开放端口:云服务器需在安全组开放 3 个端口——2379(etcd 端口)、9091(WebUI 端口)、19530(Milvus 服务端口);
    • 依赖检查:服务器已安装 Docker(若未安装,脚本会自动处理,无需手动操作);
    • 版本注意:必须和课程保持一致,避免兼容性问题,下文脚本已适配稳定版本。

    2. 部署步骤(全程命令行操作)

    步骤 1:下载部署脚本

    下载官方整合脚本

    curl -sfL https://raw.githubusercontent.com/milvus-io/milvus/master/scripts/standalone_embed.sh -o standalone_embed.sh
    
    步骤 2:执行脚本启动 Milvus

    下载完成后,执行以下命令启动服务(无需修改,直接复制):

    # 给脚本执行权限(若提示权限不足时执行)
    chmod +x standalone_embed.sh
    # 启动 Milvus 服务
    bash standalone_embed.sh start
    
    • 执行过程:脚本会自动拉取镜像、创建容器,耐心等待 3-5 分钟(取决于服务器带宽);

    成功标识:命令行输出'Milvus standalone started successfully',表示启动成功。

    Milvus 启动成功截图

    步骤 3:验证部署是否成功
    # 查看 Docker 容器状态
    docker ps | grep milvus
    
    • 若输出包含'milvusdb/milvus-standalone',且状态为'Up',说明服务正常运行;

    核心端口验证:用 netstat -tuln | grep 19530,若能看到端口监听,说明服务端口已开放。

    端口验证截图

    3. 常用脚本命令(后续管理用)

    # 停止 Milvus 服务
    bash standalone_embed.sh stop
    # 重启 Milvus 服务
    bash standalone_embed.sh restart
    # 删除 Milvus 服务(含数据,谨慎使用)
    bash standalone_embed.sh delete
    # 升级 Milvus 版本(需群内提供新版本脚本)
    bash standalone_embed.sh upgrade
    

    4. 数据存储说明

    • 数据卷路径:Milvus 数据默认映射到当前目录的 volumes/milvus 文件夹;
    • 数据安全性:容器重启或重建时,数据不会丢失(存储在宿主机文件夹);
    • 备份建议:重要数据定期备份 volumes/milvus 文件夹,避免服务器故障导致数据丢失。

    四、Milvus WebUI 使用:验证服务与查看信息

    部署成功后,通过 WebUI 可快速查看服务状态,无需命令行操作。

    1. 访问 WebUI

    打开浏览器,输入地址:http://服务器 IP:9091/webui(示例:http://127.0.0.1:9091/webui/)

    • 注意:服务器 IP 需是公网 IP(云服务器),若为内网服务器,需在同一内网访问;

    无需登录:默认无权限校验,直接访问即可。

    WebUI 界面截图

    2. WebUI 核心功能(新手重点关注)

    Milvus WebUI 是内置工具,功能简洁,主要用于'验证服务'和'查看基础信息',不支持数据操作(如创建 Collection、插入数据):

    • 运行环境:查看 Milvus 版本、服务器配置、组件状态(Coordinator、Query Node 等是否正常);
    • 数据详情:查看已创建的 Collection、分区、分片信息;
    • 任务监控:查看查询任务、插入任务的执行状态,以及慢查询记录(便于排查性能问题)。

    WebUI 功能截图

    3. 补充:数据操作工具推荐

    若需可视化操作数据(创建 Collection、插入向量、执行查询),推荐使用 Attu 工具(Milvus 官方可视化客户端),支持 Windows/Mac/Linux。

    五、部署关键注意事项(避坑指南)

    1. 权限校验:默认部署无权限校验,生产环境务必部署在内网,或配置 IP 白名单,避免公网暴露;
    2. 端口开放:云服务器必须在安全组开放 3 个端口(2379、9091、19530),否则无法访问服务和 WebUI;
    3. 版本兼容:必须使用指定版本的脚本,不同版本的 API 和配置可能不兼容,导致后续实战报错;
    4. 资源配置:学习测试建议 2 核 4G 以上,若数据量超过 1000 万,建议升级到 4 核 8G,避免内存不足;

    六、核心总结

    1. 部署选型:新手优先 Milvus Standalone(Docker 一键部署),原型开发用 Milvus Lite,生产环境选分布式版或云服务;
    2. 实战关键:下载正确脚本、开放端口、验证容器状态,三步搞定部署;
    3. WebUI 作用:仅用于查看服务状态和基础信息,数据操作需用 Attu 或代码调用 API;

    目录

    1. Milvus 部署架构选型与 Linux Docker 实战指南
    2. 一、部署架构选型:按项目阶段选对方案
    3. 1. 三大核心部署方案对比
    4. 2. 额外选择:云服务版(懒人首选)
    5. 3. 选型建议
    6. 二、Milvus 分层架构:看懂部署的核心组件
    7. 1. 分层架构图解(简化版)
    8. 2. 核心组件作用(新手无需深入,了解即可)
    9. 三、Linux 实战:Docker 一键部署 Milvus Standalone
    10. 1. 部署前准备
    11. 2. 部署步骤(全程命令行操作)
    12. 步骤 1:下载部署脚本
    13. 步骤 2:执行脚本启动 Milvus
    14. 给脚本执行权限(若提示权限不足时执行)
    15. 启动 Milvus 服务
    16. 步骤 3:验证部署是否成功
    17. 查看 Docker 容器状态
    18. 3. 常用脚本命令(后续管理用)
    19. 停止 Milvus 服务
    20. 重启 Milvus 服务
    21. 删除 Milvus 服务(含数据,谨慎使用)
    22. 升级 Milvus 版本(需群内提供新版本脚本)
    23. 4. 数据存储说明
    24. 四、Milvus WebUI 使用:验证服务与查看信息
    25. 1. 访问 WebUI
    26. 2. WebUI 核心功能(新手重点关注)
    27. 3. 补充:数据操作工具推荐
    28. 五、部署关键注意事项(避坑指南)
    29. 六、核心总结

    更多推荐文章

    查看全部
    • 快速选择算法实战:求解数组第 K 大元素与最小 K 个数
    • Java 核心面试题汇总:基础、并发、集合与框架实战
    • IntelliJ IDEA 集成 Trae AI 插件的实战指南
    • 小爱音箱自定义固件开发指南:解锁开源智能家居功能
    • Rocky Linux 安装教程
    • Ant Design Form 表单组件实现原理
    • 二叉树算法实战:计算深度与先序遍历还原
    • DeepSeek-R1-Distill-Llama-8B 实战:快速搭建智能问答系统
    • VSCode GitHub Copilot 智能补全失效修复指南
    • AI Agent 实战指南:从架构搭建到生产级落地
    • 网络安全行业方向与学习路线详解
    • AR 健身教练:形随心动 - 基于 Rokid CXR-M SDK 的实践落地
    • 6 个月免费的 ChatGPT Pro:开源维护者该怎么申请
    • AI 绘画创作灵感激发与视觉隐喻构建指南
    • Ubuntu 部署 OpenClaw 并接入飞书机器人
    • C++ 发展与程序创建
    • 在鸿蒙游戏开发中接入 AI NPC 的体验与实践
    • Java 中间件:Dubbo 服务降级(Mock 机制)
    • C、Java、Python 三大语言对比与未来选择指南
    • VGA、HDMI、TFT、LED 与显示器的关系解析

    相关免费在线工具

    • RSA密钥对生成器

      生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

    • Mermaid 预览与可视化编辑

      基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

    • 随机西班牙地址生成器

      随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

    • Base64 字符串编码/解码

      将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

    • Base64 文件转换器

      将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

    • Markdown转HTML

      将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online