Milvus向量数据库部署
1. 概述
Milvus 在集合之上引入了一个数据库层,为管理和组织数据提供了一种更有效的方式,同时支持多租户。数据库是组织和管理数据的逻辑单元。为了提高数据安全性并实现多租户,你可以创建多个数据库,为不同的应用程序或租户从逻辑上隔离数据。例如,创建一个数据库用于存储用户 A 的数据,另一个数据库用于存储用户 B 的数据。
2. 软件信息
|
序号 |
软件名称 |
描述 |
|
1 |
Etcd-v3.5.25 |
存元数据、集群配置、权限、集合结构,属于 “数据库系统目录” |
|
2 |
Minio- RELEASE.2024-05-28T17-19-04Z |
存原始向量文件、索引文件、持久化磁盘数据,核心大容量存储 |
|
3 |
Milvus-v3.0.0 |
本地运行时缓存、临时元数据、内存落地快照、本地读写缓存 |
4. 部署目录
安裝目录:/opt/milvus
数据目录:/opt/milvus/volumes
5. 启停操作
chown -R 999:999 /opt/volumes
/opt/milvus
[root@localhost milvus]# cat restart.sh
docker-compose down --remove-orphans
docker-compose up -d
docker-compose ps
6. 端口信息
|
序号 |
名称 |
内部端口 |
暴漏端口 |
|
1 |
Etcd-v3.5.25 |
2379-2380 |
|
|
2 |
Minio- RELEASE.2024-05-28T17-19-04Z |
9000-9001 |
9000-9001 |
|
3 |
Milvus-v3.0.0 |
9091,19530 |
9091,19530 |
7. 访问信息
监控页面
http://10.0.0.129:9091/webui
minio页面
http://10.0.0.129:9001
minio/BxMus26
etcd访问
http://10.0.0.129:2379
root/BxMus26
业务连接
COMMON_SECURITY_DEFAULTROOTPASSWORD: "BxMus26"
client = MilvusClient(uri="http://127.0.0.1:19530", user="root", password="BxMus26")
8. 服务检查
进程检查
[root@localhost milvus]# docker-compose ps
登录检查
[root@localhost ~]# curl -X POST "http://127.0.0.1:19530/v2/vectordb/users/list" -H "Content-Type: application/json" -H "Authorization: Bearer root:BxMus26" -d '{}'
9. 数据库配置信息
volumes/milvus/configs/milvus.yaml
根据提示配置minio及etcd的相关信息
例如:etcd

部署启动文件
version: '3.8'
services:
etcd:
container_name: milvus-etcd
image: quay.io/coreos/etcd:v3.5.25
restart: always
environment:
- ETCD_AUTO_COMPACTION_MODE=revision
- ETCD_AUTO_COMPACTION_RETENTION=1000
- ETCD_QUOTA_BACKEND_BYTES=4294967296
- ETCD_SNAPSHOT_COUNT=50000
volumes:
- ./volumes/etcd:/etcd:z
command: etcd -advertise-client-urls=http://etcd:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd
healthcheck:
test: ["CMD", "etcdctl", "endpoint", "health"]
interval: 10s
timeout: 10s
retries: 5
minio:
container_name: milvus-minio
image: minio/minio:RELEASE.2024-05-28T17-19-04Z
restart: always
environment:
MINIO_ROOT_USER: minio
MINIO_ROOT_PASSWORD: BxMus26
ports:
- "9000:9000"
- "9001:9001"
volumes:
- ./volumes/minio:/minio_data:z
command: minio server /minio_data --console-address ":9001"
healthcheck:
test: ["CMD", "mc", "ready", "local"]
interval: 10s
timeout: 10s
retries: 5
standalone:
container_name: milvus-standalone
image: milvusdb/milvus:v3.0.0
restart: always
command: ["milvus", "run", "standalone"]
security_opt:
- seccomp:unconfined
mem_limit: 2g
cpus: 2
environment:
MINIO_REGION: us-east-1
ETCD_ENDPOINTS: etcd:2379
MINIO_ADDRESS: minio:9000
ETCD_CONNECT_TIMEOUT: "30"
# 新增开启RBAC认证
COMMON_SECURITY_AUTHORIZATIONENABLED: "true"
# 可选,设置root初始密码,默认 root / Milvus
COMMON_SECURITY_DEFAULTROOTPASSWORD: "BxMus26"
volumes:
- ./volumes/milvus:/var/lib/milvus:z
- ./volumes/milvus/configs:/milvus/configs:z
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9091/healthz"]
interval: 20s
start_period: 120s
timeout: 15s
retries: 5
ports:
- "19530:19530"
- "9091:9091"
depends_on:
etcd:
condition: service_healthy
minio:
condition: service_healthy
networks:
default:
name: milvus
本文来自博客园,作者:!!雪莲花!!,转载请注明原文链接:https://www.cnblogs.com/zhj5418/p/22822943
浙公网安备 33010602011771号