共计 1914 个字符,预计需要花费 5 分钟才能阅读完成。
背景介绍
Milvus 是一款开源的向量数据库,专为 AI 应用设计,支持高效的向量相似度搜索。在推荐系统、图像识别和自然语言处理等领域有广泛应用。在 CentOS7 上部署 Milvus 的主要挑战包括系统依赖兼容性、Docker 配置复杂性以及生产环境下的性能调优。

环境准备
系统要求
- CentOS7 64 位系统
- 至少 4GB 内存(推荐 8GB 以上)
- 20GB 可用磁盘空间
Docker 安装
-
卸载旧版本 Docker(如果已安装):
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine -
安装必要工具包:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2 -
添加 Docker 仓库:
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo -
安装 Docker CE:
sudo yum install -y docker-ce docker-ce-cli containerd.io -
启动并设置开机自启:
sudo systemctl start docker sudo systemctl enable docker
分步安装指南
拉取 Milvus 镜像
docker pull milvusdb/milvus:2.0.0-cpu-d050721-5e559c
启动 Milvus 容器
docker run -d --name milvus_cpu_2.0 \
-p 19530:19530 \
-p 9091:9091 \
-v /data/milvus/db:/var/lib/milvus/db \
-v /data/milvus/conf:/var/lib/milvus/conf \
-v /data/milvus/logs:/var/lib/milvus/logs \
-v /data/milvus/wal:/var/lib/milvus/wal \
milvusdb/milvus:2.0.0-cpu-d050721-5e559c
参数说明:
– -p 19530:19530 – 映射 gRPC 端口
– -p 9091:9091 – 映射 RESTful 接口端口
– /data/milvus/db – 数据持久化目录
性能调优
内存配置
修改 milvus.yaml 配置文件中的内存参数:
cache:
cache_size: 4GB # 根据可用内存调整
insert_buffer_size: 1GB
preload_collection: ""
索引选择
- FLAT:100% 召回率,适合小数据集
- IVF_FLAT:平衡召回率和查询速度
- IVF_SQ8:有损压缩,节省存储空间
- HNSW:高性能图索引,适合大规模数据
避坑指南
端口冲突
如果 19530 或 9091 端口被占用,可以修改映射端口:
docker run -d --name milvus_cpu_2.0 \
-p 29530:19530 \
-p 9092:9091 \
...
存储卷权限问题
确保挂载目录有足够权限:
sudo chown -R 1000:1000 /data/milvus
生产环境建议
高可用部署
使用 Docker Compose 部署多节点集群:
version: '3.5'
services:
etcd:
container_name: milvus-etcd
image: quay.io/coreos/etcd:v3.5.0
...
minio:
container_name: milvus-minio
image: minio/minio:RELEASE.2020-12-03T00-03-10Z
...
standalone:
container_name: milvus-standalone
image: milvusdb/milvus:v2.0.0
...
监控配置
集成 Prometheus 和 Grafana 进行监控:
docker run -d --name milvus-monitor \
-p 9090:9090 \
-v /path/to/prometheus.yml:/etc/prometheus/prometheus.yml \
prom/prometheus
性能测试对比
| 配置 | 查询延迟 (ms) | 内存使用 (GB) |
|---|---|---|
| 默认 | 120 | 2.5 |
| 调优 | 45 | 4.0 |
进一步学习
实践建议
- 部署前进行充分的性能测试
- 根据数据规模选择合适的索引类型
- 定期备份重要数据
- 监控系统资源使用情况
- 保持 Milvus 版本更新
正文完
