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

相关推荐
花千树-0102 天前
Milvus - GPU 索引类型及其应用场景
运维·人工智能·aigc·embedding·ai编程·milvus
花千树-0106 天前
Milvus - 时间同步机制详解
aigc·embedding·ai编程·milvus
晨曦_子画6 天前
将 IBM WatsonX 数据与 Milvus 结合使用,构建用于知识检索的智能 Slack 机器人
机器人·milvus
花千树-0106 天前
Milvus - 标量字段索引技术解析
人工智能·aigc·embedding·ai编程·milvus·db
花千树-0106 天前
深入探讨 Tantivy 及其在 Milvus 中的应用:倒排索引库对比与选择
elasticsearch·全文检索·lucene·milvus·es
0712210986 天前
向量库Milvus异常挂了,重新启动
java·开发语言·milvus
花千树-01010 天前
Milvus - 四个主要时间戳参数
aigc·embedding·ai编程·milvus
AskHarries10 天前
Spring Boot集成Milvus和deeplearning4j实现图搜图功能
spring boot·后端·milvus·deeplearning4j·djl
IT_Octopus11 天前
解决milvus migration 迁移数据到出现数据丢失问题
milvus
陌北v111 天前
Milvus 与 Faiss:选择合适的向量数据库
milvus·faiss·向量数据库