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

相关推荐
花千树-0107 小时前
Milvus - 架构设计详解
milvus
苍墨穹天4 天前
基于milvus数据库的RAG-Demo
langchain·milvus
花千树-0105 天前
Milvus - 从数据库到 Partition Key 实现多租户
数据库·milvus
chenkangck509 天前
AI大模型之旅--milvus向量库安装
人工智能·aigc·milvus
MonkeyKing_sunyuhua13 天前
实现从 Milvus 中获取数据,并基于嵌入向量重新排序的功能
numpy·milvus
我爱学Python!13 天前
大模型教程:使用 Milvus、vLLM 和 Llama 3.1 搭建 RAG 应用
自然语言处理·大模型·llm·大语言模型·llama·milvus·rag
苍墨穹天13 天前
windows系统docker装milvus向量数据库
docker·容器·milvus
Zilliz Planet17 天前
使用 Milvus、vLLM 和 Llama 3.1 搭建 RAG 应用
llama·milvus
MonkeyKing_sunyuhua17 天前
实现 Excel 文件导入到向量数据库(Milvus),并支持 先查询知识库(Milvus),然后再查询大模型(Ollama) 的功能
数据库·excel·milvus