Milvus - 安装与部署教程

Milvus 是一个高性能、可扩展的向量数据库,常用于支持AI应用的向量嵌入和相似性搜索。它支持从快速原型到大规模生产的多种部署模式。本文将详细介绍如何在不同环境下安装和部署 Milvus,并附上操作步骤,确保您能够根据需求选择合适的 Milvus 部署方式。

部署选项概述

Milvus 目前提供三种部署方式:

  • Milvus Lite: 适用于 Jupyter Notebook 或边缘设备的轻量级 Python 库。
  • Milvus Standalone: 在单台服务器上运行的独立版,适合中小规模的生产部署。
  • Milvus Distributed: 部署于 Kubernetes 集群上的分布式架构,适合处理超大规模数据。
Milvus Lite 安装指南

Milvus Lite 是 Milvus 的轻量级版本,支持向量搜索和向量 CRUD 操作,适合在笔记本电脑、Jupyter Notebook 或边缘设备上进行快速原型开发。

安装步骤
  1. 安装 pymilvus 库

    Milvus Lite 已集成到 pymilvus 中。通过以下命令安装:

    bash 复制代码
    pip install -U pymilvus
  2. 连接 Milvus Lite

    使用 MilvusClient 并指定一个本地文件作为数据库文件:

    python 复制代码
    from pymilvus import MilvusClient
    client = MilvusClient("./milvus_demo.db")

    运行后,会在当前目录下生成一个名为 milvus_demo.db 的本地数据库文件。此文件持久化存储所有数据。

注意事项
  • Milvus Lite 支持的功能有限,不适用于大规模数据搜索。对于大规模的生产环境,建议使用 Milvus Standalone 或 Milvus Distributed。
  • 使用相同 API,可以无缝迁移至其他 Milvus 部署方式。
使用 Docker Compose 运行 Milvus Standalone

Milvus Standalone 是为中小规模数据集设计的单机部署模式,所有组件都集成在一个 Docker 镜像中,适合内存充足的单机服务器。

安装步骤
  1. 安装 Docker

    如果还未安装 Docker,请按照系统说明进行安装。

  2. 下载 Docker Compose 配置文件

    Milvus 提供了一个预配置的 docker-compose.yml 文件,您可以使用以下命令进行下载:

    bash 复制代码
    wget https://github.com/milvus-io/milvus/releases/download/v2.4.9/milvus-standalone-docker-compose.yml -O docker-compose.yml
  3. 启动 Milvus Standalone

    使用以下命令启动 Milvus Standalone:

    bash 复制代码
    sudo docker compose up -d

    该命令将启动 Milvus 的所有必要组件,包括 etcd、MinIO 和 Milvus 实例。

  4. 检查容器状态

    运行以下命令确认 Milvus 是否正常运行:

    bash 复制代码
    sudo docker compose ps
  5. 停止 Milvus

    使用以下命令停止并移除容器:

    bash 复制代码
    sudo docker compose down
用 Helm 安装 Milvus Operator

Milvus Operator 是一个解决方案,帮助在 Kubernetes 集群中部署和管理 Milvus。使用 Helm 安装 Milvus Operator 可以简化 Milvus 的安装和管理过程。

安装步骤
  1. 安装 Helm

    请根据您的操作系统安装 Helm CLI 工具。

  2. 添加 Milvus Helm 仓库

    通过以下命令将 Milvus Helm 仓库添加到本地 Helm:

    bash 复制代码
    helm repo add milvus https://zilliztech.github.io/milvus-helm/
    helm repo update
  3. 安装 Milvus Operator

    使用 Helm 安装 Milvus Operator:

    bash 复制代码
    helm install milvus-operator -n milvus-operator --create-namespace --wait --wait-for-jobs https://github.com/zilliztech/milvus-operator/releases/download/v1.0.1/milvus-operator-1.0.1.tgz

    此命令会在 milvus-operator 命名空间下安装 Milvus Operator,并确保所有组件启动正常。

  4. 部署 Milvus 集群

    安装好 Operator 后,可以使用如下命令部署 Milvus 集群:

    bash 复制代码
    kubectl apply -f https://raw.githubusercontent.com/zilliztech/milvus-operator/main/config/samples/milvus_cluster_default.yaml
  5. 检查集群状态

    使用以下命令检查所有 Milvus 组件的状态:

    bash 复制代码
    kubectl get pods
  6. 使用端口转发

    将本地端口转发至 Milvus 服务的端口,以便客户端可以连接:

    bash 复制代码
    kubectl port-forward service/my-release-milvus 27017:19530
使用 Milvus Sizing 工具调整配置

为了确保 Milvus 在您的数据规模下能够高效运行,推荐使用 Milvus 提供的 Milvus Sizing 工具 来根据实际数据大小调整配置。该工具能够帮助您估算所需的硬件资源,并生成相应的 YAML 文件,您可以直接下载并用于配置 Milvus 集群。

调整步骤
  1. 访问 Milvus Sizing 工具的官网
  2. 输入您的数据规模和需求。
  3. 根据工具建议,下载相应的配置文件(YAML 文件)。
  4. 将这些配置应用于您的 Milvus 部署,确保高效的资源利用和稳定运行。
结论

无论是快速原型开发,还是大规模生产,Milvus 提供了灵活的部署选项。从轻量级的 Milvus Lite,到支持中型数据集的 Standalone,再到面向大规模生产环境的 Distributed,您可以根据不同需求选择适合的解决方案。同时,借助 Milvus Sizing 工具,您可以确保 Milvus 在您的环境中以最佳性能运行。

相关推荐
linweidong16 天前
如何设计和实施高效的向量化数据检索解决方案
人工智能·机器学习·大模型·agent·milvus·faiss·向量索引
Zilliz Planet17 天前
Milvus × 联想:向量数据库如何让制造业库存周转率提升10%
milvus
AIGC包拥它17 天前
检索召回率优化探究二:基于 LangChain 0.3集成 Milvus 2.5向量数据库构建的智能问答系统
人工智能·python·langchain·软件工程·个人开发·milvus
zhurui_xiaozhuzaizai17 天前
多向量检索:lanchain,dashvector,milvus,vestorsearch,MUVERA
人工智能·算法·机器学习·全文检索·milvus
Blessed_Li19 天前
【dify+milvus避坑指南】将向量库milvus集成给dify作为知识库
docker·ai·llm·milvus·dify
TGITCIC21 天前
还在使用Milvus向量库?2025-AI智能体选型架构防坑指南
milvus·向量数据库·ai agent·ai智能体·qdrant·rag增强检索
超龄超能程序猿21 天前
图片查重从设计到实现(5)Milvus可视化工具
python·milvus
qq_1780570723 天前
基于Milvus和BGE-VL模型实现以图搜图
milvus
风筝超冷24 天前
【Milvus合集】1.Milvus 的核心概念(collection、field、index、partition、segment)
人工智能·机器学习·milvus
超龄超能程序猿1 个月前
图片查重从设计到实现(2)Milvus安装准备etcd介绍、应用场景及Docker安装配置
docker·etcd·milvus