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 在您的环境中以最佳性能运行。

相关推荐
os_lee17 小时前
Milvus 实战教程(Go 版本 + Ollama bge-m3 向量模型)
数据库·golang·milvus
dingzhihui0141372 天前
Milvus向量库Go-pprof-leak漏洞修复指南
milvus
Zilliz Planet3 天前
官宣 | Milvus 2.6云上GA:三层存储降本85% 、速度快ES 4-7 倍,多数据类型支持
大数据·elasticsearch·搜索引擎·全文检索·milvus
大厂技术总监下海3 天前
向量数据库“卷”向何方?从Milvus看“全功能、企业级”的未来
数据库·分布式·go·milvus·增强现实
精致先生4 天前
Milvus向量数据库
ai·大模型·milvus
Zilliz Planet4 天前
官宣,Milvus开源语义高亮模型:告别饱和检索,帮RAG、agent剪枝80%上下文
人工智能·算法·机器学习·剪枝·milvus
小毅&Nora5 天前
【向量数据库】Milvus 向量数据库 ④ 向量索引的存储结构与查询执行模型:从 Faiss 到 Knowhere 的源码解剖
向量·milvus·faiss
码农胖虎-java6 天前
【AI】向量数据库选型实战:pgvector vs Milvus vs Qdrant
数据库·milvus·pg
树叶会结冰6 天前
Milvus:可检索记忆的漂流瓶
langchain·milvus·llamaindex