跳到主要内容

使用 Docker Compose 升级 Milvus 集群

本主题描述了如何使用 Docker Compose 升级您的 Milvus。

在正常情况下,您可以通过更改其镜像来升级 Milvus。但是,在从 v2.1.x 升级到 v2.4.1 之前,您需要迁移元数据

通过更改其镜像升级 Milvus

在正常情况下,您可以按照以下步骤升级 Milvus:

  1. 更改 docker-compose.yaml 中的 Milvus 镜像标签。

    请注意,您需要为代理、所有协调器和所有工作节点更改镜像标签。

    ...
    rootcoord:
    container_name: milvus-rootcoord
    image: milvusdb/milvus:v2.4.1
    ...
    proxy:
    container_name: milvus-proxy
    image: milvusdb/milvus:v2.4.1
    ...
    querycoord:
    container_name: milvus-querycoord
    image: milvusdb/milvus:v2.4.1
    ...
    querynode:
    container_name: milvus-querynode
    image: milvusdb/milvus:v2.4.1
    ...
    indexcoord:
    container_name: milvus-indexcoord
    image: milvusdb/milvus:v2.4.1
    ...
    indexnode:
    container_name: milvus-indexnode
    image: milvusdb/milvus:v2.4.1
    ...
    datacoord:
    container_name: milvus-datacoord
    image: milvusdb/milvus:v2.4.1
    ...
    datanode:
    container_name: milvus-datanode
    image: milvusdb/milvus:v2.4.1
  2. 运行以下命令执行升级。

    docker compose down
    docker compose up -d

迁移元数据

  1. 停止所有 Milvus 组件。

    docker stop <milvus-component-docker-container-name>
  2. 为元数据迁移准备配置文件 migrate.yaml

    # migration.yaml
    cmd:
    # Option: run/backup/rollback
    type: run
    runWithBackup: true
    config:
    sourceVersion: 2.1.4 # 指定您的 Milvus 版本
    targetVersion: 2.4.1
    backupFilePath: /tmp/migration.bak
    metastore:
    type: etcd
    etcd:
    endpoints:
    - milvus-etcd:2379 # 使用 etcd 容器名称
    rootPath: by-dev # 数据存储在 etcd 中的根路径
    metaSubPath: meta
    kvSubPath: kv
  3. 运行迁移容器。

    # 假设您的 docker-compose 与默认的 milvus 网络一起运行,
    # 并且您将 migration.yaml 放在与 docker-compose.yaml 相同的目录中。

    docker run --rm -it --network milvus -v $(pwd)/migration.yaml:/milvus/configs/migration.yaml milvus/meta-migration:v2.2.0 /milvus/bin/meta-migration -config=/milvus/configs/migration.yaml
  4. 使用新的 Milvus 镜像再次启动 Milvus 组件。

#在 docker-compose.yaml 中更新 milvus 镜像标签
docker compose down
docker compose up -d

接下来做什么