从零搭建向量数据库Milvus:安装配置与避坑实战

先搞懂 Milvus 是什么,能解决什么问题

很多刚接触的朋友会把向量数据库Milvus和MySQL、Redis混为一谈,其实它们处理的场景完全不同。
MySQL存的是结构化表格数据,Redis存的是键值对缓存,而Milvus专门用来存储和搜索向量——也就是把图片、文本、语音等非结构化数据转换成数学上的高维数组,然后通过计算向量之间的距离来做相似性匹配。
举个例子,你用一张照片去搜淘宝同款,背后就可能是向量数据库在干活。
如果你打算做图片搜索、推荐系统、文本语义匹配或者RAG这类应用,Milvus是目前成熟度比较高的开源选择。

部署前需要准备什么

部署Milvus最推荐的方式是用Docker Compose,因为组件多——Milvus本身依赖etcd、minio等,手动搭容易漏东西。
你的服务器需要满足以下条件:

  • 操作系统:Linux,建议Ubuntu 20.04或CentOS 7+
  • Docker:20.10以上版本
  • Docker Compose:v2以上
  • 硬件:最低2核4G内存,生产环境建议4核8G起步

确保Docker和Docker Compose已经安装好,没装的话先执行基础安装命令。

用 Docker Compose 安装 Milvus(新手推荐)

第一步,从Milvus官方仓库下载docker-compose.yml文件。
建议先创建一个专用目录:

mkdir ~/milvus && cd ~/milvus
wget https://github.com/milvus-io/milvus/releases/download/v2.4.0/milvus-standalone-docker-compose.yml -O docker-compose.yml

然后直接启动:

docker compose up -d

第一次启动会拉取镜像,时间取决于网络,通常5到15分钟。
启动后看一眼容器状态:

docker compose ps

如果三个服务(etcd、minio、milvus)的状态都是Up,说明Milvus已经跑起来了。
默认端口是19530,客户端通过这个端口连接。

新手最容易踩的坑

  • 端口冲突:如果你服务器上已经跑了etcd或MinIO,或者19530端口被占用,Milvus会启动失败。这时可以编辑docker-compose.yml,把端口映射改成其他值,比如改成19531:19530。
  • 内存不足:Milvus启动后三个容器加起来大概占用1.5G到2G内存,如果你的服务器只有2G内存,很可能会OOM导致容器退出。建议用free -h先看一眼内存余量,不够的话加Swap或者升级配置。
  • 防火墙没放行:如果客户端连不上Milvus,检查服务器防火墙有没有放行19530端口。Ubuntu用ufw status,CentOS用firewall-cmd --list-all

验证 Milvus 能否正常使用

最简单的验证方式是安装pymilvus客户端,写几行Python代码连一下。
先装客户端:

pip install pymilvus

然后创建一个测试脚本test.py:

from pymilvus import connections
connections.connect(host='你的服务器IP', port='19530')
print("连接成功")

如果没报错,说明Milvus服务端正常。
你还可以用Milvus自带的GUI工具Attu通过浏览器查看数据状态,但这步不作为必选项。
如果你按照上面的步骤走下来,应该已经跑起了一个可用的Milvus实例。
下一步可以尝试创建集合、插入向量数据并做搜索测试,遇到报错先看日志docker compose logs milvus,大部分问题都能通过日志定位。

分享到:
上一篇
TensorRT模型优化实战:从安装到加速推理全流程
下一篇
RAG知识库搭建实战:零基础使用LangChain+
1
系统公告

高考专属福利来袭|凭准考证免费领香港 CN2 云服务器

值高考落幕之际,泽御云开启考生专属回馈 + 产品限时特惠双重活动,助力学子暑期学习建站 高考 考生专属福利 全体应届高考生,凭高考准考证即可免费申领【香港 CN2 轻量云服务器,4 核 4G AMD 处理器】,免费使用周期 30 天,可用于搭建个人站点、编程实操、技术实训,祝各位考生金榜题名,前程似锦! 泽御云资质齐全合规自营机房,线路覆盖香港 CN2、国内 BGP、内蒙电信、美国精品线路,售后全天候技术支持。 官方网站:www.zeyuyun.com,活动限时有效,优惠逾期不再保留。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意