Milvus 是一个高性能、可扩展的向量数据库,常用于支持AI应用的向量嵌入和相似性搜索。它支持从快速原型到大规模生产的多种部署模式。本文将详细介绍如何在不同环境下安装和部署 Milvus,并附上操作步骤,确保您能够根据需求选择合适的 Milvus 部署方式。
部署选项概述
Milvus 目前提供三种部署方式:
- Milvus Lite: 适用于 Jupyter Notebook 或边缘设备的轻量级 Python 库。
- Milvus Standalone: 在单台服务器上运行的独立版,适合中小规模的生产部署。
- Milvus Distributed: 部署于 Kubernetes 集群上的分布式架构,适合处理超大规模数据。
Milvus Lite 安装指南
Milvus Lite 是 Milvus 的轻量级版本,支持向量搜索和向量 CRUD 操作,适合在笔记本电脑、Jupyter Notebook 或边缘设备上进行快速原型开发。
安装步骤
-
安装 pymilvus 库
Milvus Lite 已集成到
pymilvus
中。通过以下命令安装:bashpip install -U pymilvus
-
连接 Milvus Lite
使用
MilvusClient
并指定一个本地文件作为数据库文件:pythonfrom 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 镜像中,适合内存充足的单机服务器。
安装步骤
-
安装 Docker
如果还未安装 Docker,请按照系统说明进行安装。
-
下载 Docker Compose 配置文件
Milvus 提供了一个预配置的
docker-compose.yml
文件,您可以使用以下命令进行下载:bashwget https://github.com/milvus-io/milvus/releases/download/v2.4.9/milvus-standalone-docker-compose.yml -O docker-compose.yml
-
启动 Milvus Standalone
使用以下命令启动 Milvus Standalone:
bashsudo docker compose up -d
该命令将启动 Milvus 的所有必要组件,包括 etcd、MinIO 和 Milvus 实例。
-
检查容器状态
运行以下命令确认 Milvus 是否正常运行:
bashsudo docker compose ps
-
停止 Milvus
使用以下命令停止并移除容器:
bashsudo docker compose down
用 Helm 安装 Milvus Operator
Milvus Operator 是一个解决方案,帮助在 Kubernetes 集群中部署和管理 Milvus。使用 Helm 安装 Milvus Operator 可以简化 Milvus 的安装和管理过程。
安装步骤
-
安装 Helm
请根据您的操作系统安装 Helm CLI 工具。
-
添加 Milvus Helm 仓库
通过以下命令将 Milvus Helm 仓库添加到本地 Helm:
bashhelm repo add milvus https://zilliztech.github.io/milvus-helm/ helm repo update
-
安装 Milvus Operator
使用 Helm 安装 Milvus Operator:
bashhelm 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,并确保所有组件启动正常。 -
部署 Milvus 集群
安装好 Operator 后,可以使用如下命令部署 Milvus 集群:
bashkubectl apply -f https://raw.githubusercontent.com/zilliztech/milvus-operator/main/config/samples/milvus_cluster_default.yaml
-
检查集群状态
使用以下命令检查所有 Milvus 组件的状态:
bashkubectl get pods
-
使用端口转发
将本地端口转发至 Milvus 服务的端口,以便客户端可以连接:
bashkubectl port-forward service/my-release-milvus 27017:19530
使用 Milvus Sizing 工具调整配置
为了确保 Milvus 在您的数据规模下能够高效运行,推荐使用 Milvus 提供的 Milvus Sizing 工具 来根据实际数据大小调整配置。该工具能够帮助您估算所需的硬件资源,并生成相应的 YAML 文件,您可以直接下载并用于配置 Milvus 集群。
调整步骤
- 访问 Milvus Sizing 工具的官网。
- 输入您的数据规模和需求。
- 根据工具建议,下载相应的配置文件(YAML 文件)。
- 将这些配置应用于您的 Milvus 部署,确保高效的资源利用和稳定运行。
结论
无论是快速原型开发,还是大规模生产,Milvus 提供了灵活的部署选项。从轻量级的 Milvus Lite,到支持中型数据集的 Standalone,再到面向大规模生产环境的 Distributed,您可以根据不同需求选择适合的解决方案。同时,借助 Milvus Sizing 工具,您可以确保 Milvus 在您的环境中以最佳性能运行。