---
title: "OCP 多集群模式开关 | OceanBase 文档中心"
description: OCP 多集群模式开关 本节介绍如何将标准模式的 OCP 改造为多集群模式的主备集群。 前提条件 已安装好 V3.1.1 及以上版本的 OCP 集群。 注意 这些 OCP 集群所管理的 OceanBase 集群中，不能存在同名的 OceanBase 集群，否则备 OCP 集群将无法成功注册到主 OCP 集群。 操作步…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*lJTmRZ61jSUAAAAAAAAAAAAADiGDAQ/original) 云平台 OCPV 3.3.3 企业版

# OCP 多集群模式开关

更新时间：2023-08-09 10:10:56

本节介绍如何将标准模式的 OCP 改造为多集群模式的主备集群。

## 前提条件

已安装好 V3.1.1 及以上版本的 OCP 集群。 **注意**

这些 OCP 集群所管理的 OceanBase 集群中，不能存在同名的 OceanBase 集群，否则备 OCP 集群将无法成功注册到主 OCP 集群。

## 操作步骤

1. 执行 `docker exec -it ocp bash` 命令进入 OCP 容器。
 2. 执行 `env | grep -i metadb` 命令检查是否已设置了如下环境变量。

   ```unknow
   OCP_METADB_HOST
   OCP_METADB_PORT
   OCP_METADB_USER
   OCP_METADB_PASSWORD
   OCP_METADB_DBNAME

   ```

   若未设置，请执行如下命令设置 MetaDB 的环境变量。

   ```unknow
   #以下变量值均为示例，请根据实际情况设置。
   export OCP_METADB_HOST="192.168.0.1"
   export OCP_METADB_PORT="2881"
   export OCP_METADB_USER="ocp@ocp_meta"
   export OCP_METADB_PASSWORD="******"
   export OCP_METADB_DBNAME="meta_01"

   ```
 3. 执行 `cd /home/admin/ocp-init/src/ocp-init` 命令进入 modify_mc_config.py 脚本所在目录。
 4. 根据实际场景选择以下命令中的一条执行，改造 OCP。

      - 在目标 OCP 上执行，改造目标 OCP 为主 OCP 集群。

       ```unknow
       python modify_mc_config.py --multicluster_mode_enabled=true --cluster_id=xxx --cluster_name=xxx --cluster_role=LEADER

       ```
      - 在目标 OCP 上执行，改造目标 OCP 为备 OCP 集群。

       ```unknow
       python modify_mc_config.py --multicluster_mode_enabled=true --cluster_id=xxx --cluster_name=xxx --cluster_role=FOLLOWER

       ```
      - Failover 之后，在原主 OCP 上执行，使原主 OCP 恢复到能注册到新主 OCP的状态。

       ```unknow
       python modify_mc_config.py --cluster_role=FOLLOWER --register_status=UNREGISTERED

       ```

   **说明**

   modify_mc_config.py 脚本支持以下参数:

      - --multicluster_mode_enabled：是否开启多集群模式。可取值 true 或 false。
      - --cluster_id：OCP 集群 ID，配置为 int 类型。

       **请确保所有 OCP 集群的 ID 唯一。**
      - --cluster_name：OCP 集群名，配置为字符串类型。
      - --cluster_role：OCP 集群角色，可取值 LEADER 或 FOLLOWER。

       请确保所有 OCP 集群中只有一个 LEADER，其他均为 FOLLOWER。
      - --register_status：OCP 集群注册状态，可取值 REGISTERED 或 UNREGISTERED。主要用于：Failover 之后，原主 OCP 恢复且想作为备注册到新主 OCP，可将原主的注册状态修改为UNREGISTERED，同时角色修改为 FOLLOWER。具体命令可参考步骤 4 中的第三条命令。
 5. 重启 OCP。

   在 OCP 宿主机上执行 `docker restart ocp` 命令。

   如果该 OCP 集群部署了多个 OCP 实例，需要全部重启。

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
