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

  

 

posted on 2026-09-03 12:19  !!雪莲花!!  阅读(11)  评论(0)    收藏  举报