【向量数据库 pymilvus】Milvus Standalone(单机模式)如何安装
在龙晰操作系统(CentOS 8)上安装 Milvus Standalone(单机模式)而不使用 Docker,可以按照以下步骤进行。以下是一个详细的安装指南:
1. 环境准备
在开始安装之前,确保系统满足以下要求:
- 操作系统:CentOS 8(龙晰操作系统基于 CentOS 8)。
- 硬件要求:
- CPU:支持 AVX 指令集(推荐 Intel Haswell 或更高版本)。
- 内存:至少 8 GB(建议 16 GB 或更高)。
- 磁盘:SSD 磁盘,至少 50 GB 可用空间。
- 依赖项:
- Python 3.8 或更高版本。
- GCC 7 或更高版本。
- CMake 3.18 或更高版本。
2. 安装依赖项
2.1 更新系统
sudo dnf update -y
2.2 安装 GCC 和 CMake
sudo dnf install -y gcc gcc-c++ make cmake
2.3 安装 Python 3.8
如果系统未安装 Python 3.8,可以通过以下步骤安装:
sudo dnf install -y python38 python38-devel
sudo alternatives --set python3 /usr/bin/python3.8
2.4 安装其他依赖项
sudo dnf install -y openssl-devel libcurl-devel zlib-devel
3. 下载 Milvus Standalone
3.1 下载 Milvus 二进制包
从 Milvus 的 GitHub Releases 页面下载最新版本的二进制包:
wget https://github.com/milvus-io/milvus/releases/download/v2.3.3/milvus-standalone-linux-amd64.tar.gz
3.2 解压二进制包
tar -xzf milvus-standalone-linux-amd64.tar.gz
cd milvus-standalone-linux-amd64
4. 配置 Milvus
4.1 修改配置文件
Milvus 的配置文件位于 conf/standalone.yaml
。你可以根据需要修改以下参数:
- 存储路径:设置数据存储路径(确保路径有足够的磁盘空间)。
storage: path: /path/to/milvus/data
- 缓存大小:根据内存大小调整缓存。
cache: cache_size: 4GB
4.2 创建数据存储目录
sudo mkdir -p /path/to/milvus/data
sudo chown -R $USER:$USER /path/to/milvus/data
5. 启动 Milvus
5.1 启动 Milvus 服务
在解压后的 Milvus 目录中运行以下命令:
./bin/milvus run
5.2 验证服务状态
Milvus 默认监听端口为 19530
。你可以通过以下命令检查服务是否正常运行:
curl http://localhost:19530/version
如果返回类似以下内容,说明 Milvus 已成功启动:
{"version":"2.3.3"}
6. 使用 Milvus
6.1 安装 PyMilvus
Milvus 提供了 Python SDK(PyMilvus),可以通过以下命令安装:
pip install pymilvus
6.2 连接 Milvus
在 Python 中连接 Milvus:
from pymilvus import connections
connections.connect("default", host="localhost", port="19530")
6.3 创建集合和插入数据
以下是一个简单的示例:
from pymilvus import CollectionSchema, FieldSchema, DataType, Collection
# 定义集合结构
fields = [
FieldSchema(name="id", dtype=DataType.INT64, is_primary=True),
FieldSchema(name="embedding", dtype=DataType.FLOAT_VECTOR, dim=128)
]
schema = CollectionSchema(fields, "example_collection")
# 创建集合
collection = Collection("example_collection", schema)
# 插入数据
data = [
[1, 2, 3], # ID
[[0.1, 0.2, ...], [0.3, 0.4, ...], [0.5, 0.6, ...]] # 向量数据
]
collection.insert(data)
7. 性能优化
7.1 使用 SSD 磁盘
确保 Milvus 的数据存储路径位于 SSD 磁盘上,以提升 I/O 性能。
7.2 调整缓存大小
根据系统内存大小,适当增加 cache.cache_size
参数,确保缓存足够容纳全部数据。
7.3 预加载索引
在插入数据后,立即创建索引并预加载到内存中:
collection.create_index("embedding", {"index_type": "IVF_FLAT", "metric_type": "L2", "params": {"nlist": 128}})
collection.load()
8. 总结
通过以上步骤,你可以在龙晰操作系统(CentOS 8)上成功安装和运行 Milvus Standalone(单机模式)。如果需要进一步优化性能,可以参考 Milvus 的官方文档或社区资源。