---
title: "添加 OBServer | OceanBase 文档中心"
description: 添加 OBServer 您可以向管理的集群中添加 OBServer 节点。 关于 OBServer OceanBase 数据库是单进程软件，进程名为 observer，通常每个机器启动一个进程就是一个节点（节点不完全等同于物理机器）。OBServer 是 OceanBase 数据库的服务器，observer 进程就运…
---
切换语言

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

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 3.1.5 社区版

# 添加 OBServer

更新时间：2026-07-03 10:50:58

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V3.1.5/zh-CN/100.users-guide/600.basic-database-management/100.manage-clusters/500.manage-observers/100.add-an-observer.md)  

您可以向管理的集群中添加 OBServer 节点。

## 关于 OBServer

OceanBase 数据库是单进程软件，进程名为 observer，通常每个机器启动一个进程就是一个节点（节点不完全等同于物理机器）。OBServer 是 OceanBase 数据库的服务器，observer 进程就运行在该服务器上。

每一个 OceanBase 数据库的进程 observer 由 IP 和端口作为唯一标识。通常一台物理或者虚拟服务器运行一个 observer 进程。observer 进程作为 OceanBase 数据库最核心的进程负责几乎所有数据库内核功能，包括 SQL 引擎、存储引擎和事务引擎。分布式的功能也同样在这个进程中，包括 RPC 通信、负载均衡和分区管理等。

## 通过命令向集群中添加 OBServer 节点

通过命令添加 OBServer 节点前，需要提前准备好对应版本的 OceanBase 数据库 RPM 包。您可登录开源官网在 [下载中心](https://open.oceanbase.com/softwareCenter/community) 下载对应的 RPM 包。

1. 通过 `root` 用户登录到 OceanBase 数据库的 `sys` 租户。
 2. （可选）依次执行以下语句，添加 Zone，并设置 Zone 的区域与 IDC 属性。

   > **说明**
   >
   >  
   >
   > 如果是向已有的 Zone 中添加 OBServer 节点，则该步骤可省略。如果需要新增 Zone 并向其中添加 OBServer 节点，则需要执行该步骤。

   本节以待添加 Zone 为 `zone4`，且 `REGION='HANGZHOU',IDC='HZ1'` 为例，提供操作指导。

   ```sql
   obclient> ALTER SYSTEM ADD ZONE zone4 REGION HANGZHOU;

   obclient> ALTER SYSTEM START ZONE zone4;

   obclient> ALTER SYSTEM ALTER ZONE zone4 SET REGION='HANGZHOU',IDC='HZ1';

   ```
 3. 通过 `ssh` 登录到待添加的 OBServer，进行安装前检查。

      1. 进入工具所在的目录。

        ```shell
        [root@hostname /]# cd /root/t-oceanbase-antman/clonescripts

        ```
      2. 执行以下命令，开始检查。

        ```shell
        [root@hostname clonescripts]# sh precheck.sh -m ob

        ```
      3. 执行以下命令，检查时钟同步情况，保证所有节点的时钟偏差在 100 ms 以内。

        其中，`$IP` 表示集群中其他 OBServer 的 IP 地址。

        ```shell
        [root@hostname /]# ntpdate $IP

        ```
 4. 安装 OceanBase 数据库的 RPM 包。

   其中，`rpm_dir` 表示存放 RPM 包的目录；`$rpm_name` 表示 RPM 包的名称。

   ```shell
   [root@hostname /]# cd $rpm_dir

   [root@hostname $rpm_dir]# rpm -i --prefix=/home/admin/oceanbase $rpm_name

   ```
 5. 启动 OBServer，并将 OBServer 注册到集群。

      1. 设置 `admin` 用户的 ulimit。

        ```shell
        [admin@hostname oceanbase]$ ulimit -s 10240; ulimit -c unlimited

        ```
      2. 配置环境变量。

        ```shell
        [admin@hostname oceanbase]$ export LD_LIBRARY_PATH=/home/admin/oceanbase/lib:$LD_LIBRARY_PATH LD_PRELOAD=''

        ```
      3. 启动 OBServer。

        语句如下：

        ```shell
        [admin@hostname oceanbase]$ /home/admin/oceanbase/bin/observer -i eth0 -P XXXX -p YYYY -z zone1 -d /home/admin/oceanbase/store/obdemo -r 'xxx.xxx.xxx.xxx:xxxx:xxx.xxx.xxx.xxx:xxxx xxx.xxx.xxx.xxx:xxxx:yyyy' -c 20190716 -n obdemo -o "memory_limit_percentage=90,memstore_limit_percentage=60,datafile_disk_percentage=80,config_additional_dir=/data/1/obdemo/etc3;/data/log1/obdemo/etc2"

        ```

        其中：

             - `-P` 参数用于指定 RPC 端口号。
             - `-p` 参数用于指定直连端口号。
             - `-z` 参数用于指定待加入的 Zone。
             - `-d` 参数用于指定数据的存储目录。
             - `-r` 参数用于指定待添加的 OBServer 的 IP 地址列表。
             - `-c` 参数用于指定集群 ID。
             - `-n` 参数用于指定集群名。
             - `-o` 参数用于指定启动配置项。

              更多配置项的详细信息，请参见《参考指南》文档中的 [系统配置项](https://www.oceanbase.com/docs/community-observer-cn-10000000001879342)。

        > **注意**
        >
        >  
        >
        > 在启动 OBServer 时，请务必指定正确的 Zone 名称和初始化参数值。
 6. 再次通过 `root` 用户登录到 OceanBase 数据库的 `sys` 租户，向集群中添加 OBServer 节点。

   其中，`$IP` 表示待添加的 OBServer 的 IP 地址；`$PORT` 表示 OBServer 的 RPC 端口号，默认为 `2882`。

   ```sql
   obclient> ALTER SYSTEM ADD SERVER '$IP:$PORT' ZONE 'zone4';

   ```

   该操作会将 OBServer 加入到服务列表，只有服务列表中的 OBServer 才可以提供服务。

   添加后，可以执行以下语句，确认列表中是否有刚才添加的 OBServer，如果有，则表示添加成功。

   ```sql
   obclient> SELECT * FROM oceanbase.__all_server;

   ```

## 通过 OCP 向集群中添加 OBServer 节点

您也可以通过 OCP 向集群中的多个 Zone 分别添加相同数量的 OBServer 节点。

### 前提条件

- 待操作的集群可以在当前 OCP 中进行管理。

  如果该集群未加入到 OCP 中进行管理，请联系管理员将待操作的集群接管到当前 OCP 中，具体操作方法请参见 OCP 对应版本的《用户指南》文档中的 **接管集群** 。
 - 向集群中添加 OBServer 节点前，请确认当前登录用户已具备集群的管理权限。

  如果当前用户没有集群管理的权限，请联系管理员为您添加相应权限的角色，具体操作方法请参见 OCP 对应版本的《用户指南》文档中的 **编辑用户** 。
 - 待添加的 OBServer 的硬件架构需要与当前集群保持一致。

### 操作步骤

1. 登录 OCP 。

   默认进入 **集群概览** 页面。
 2. 在该页面的 **集群列表** 区域，选择待操作的集群并单击其集群名。
 3. 在 **总览** 页面右上角，单击 **添加 OBServer** 。
 4. 在 **OBServer 信息** 区域，指定待添加 OBServer 的机型、机器选择方式和 IP 地址（可多选）。

   ![11181812](https://help-static-aliyun-doc.aliyuncs.com/assets/img/zh-CN/3785987361/p355152.png)

   若并非所有 Zone 都有添加 OBServer 的需要，可单击 Zone 行尾的删除符号，删除该 Zone 行。
 5. 完成后，单击 **确定** 。

   您可通过弹出框中的 **查看任务** 按钮，查看添加进度。

   您也可在 **系统管理 > 任务** 中查看该任务的进度。

   当该任务状态为 **完成** ，且集群 **总览** 页的 **OBServer 列表** 中相应 OBServer 的状态都为 **运行中** ，则添加成功。

## 通过 OCP 向指定的 Zone 中添加 OBServer 节点

您可以通过 OCP 向指定的多个 Zone 中添加一个或多个 OBServer 节点。

### 前提条件

- 向 Zone 中添加 OBServer 节点前，请确认当前登录用户已具备集群的管理权限。如果当前用户没有集群管理的权限，请联系管理员为您添加相应权限的角色，具体操作方法请参见 OCP 对应版本的《用户指南》文档中的 **编辑用户** 。
 - 待添加的 OBServer 的硬件架构需要与当前集群保持一致。

   默认进入 **集群概览** 页面。
 2. 在 **集群** 页面的 **集群列表** 区域，选择待操作的集群并单击其集群名。
 3. 在 **总览** 页面的 **Zone 列表** 区域，选择一个需要添加 OBServer 的 Zone，在对应的 **操作** 列中，单击 **添加 OBServer** 。
 4. 在 **OBServer信息** 区域，选择机型、机器选择方式及待添加的 OBServer 所在的主机 IP 址。

   默认添加一个 OBServer，如果需要添加多个 OBServer，您可以在下方单击 **新增** 按钮。

   ![09161748](https://help-static-aliyun-doc.aliyuncs.com/assets/img/zh-CN/8060562361/p327389.png)
 5. 完成后，单击 **确定** 。

## 通过 OBD 向集群中添加 OBServer 节点

1. 在 OBD 所在机器的操作用户下，写一份新的配置文件，执行如下命令使用 OBD 进行部署：

   ```bash
   obd cluster deploy <deploy_name> -c <deploy_config_path>

   ```

   其中，参数 `deploy_name` 为部署集群名称，可以理解为配置文件的别名，`deploy_config_path` 为配置文件名。

   此命令会检查 home_path 和 data_dir 指向的目录文件是否为空，若目录文件不为空，则报错。此时可以加上 `-f` 选项，强制清空目录文件。

   在您执行了 `obd cluster deploy` 命令之后，OBD 将检查您的目标机器是否有 OceanBase 数据库安装包。如果没有安装包，OBD 将自动从 yum 源获取。
 2. 参考如下步骤将新部署集群的配置文件内容分别添加到原集群的配置文件对应位置中。

      1. 查看配置路径：

        ```bash
        obd cluster list

        ```
      2. 打开原集群配置文件，并添加新部署集群的配置：

        ```bash
        vim .obd/cluster/<deploy_name>/config.yaml

        ```
 3. 执行如下命令再次启动集群：

   ```bash
   obd cluster start <deploy_name>

   ```
 4. 连接 OceanBase 数据库，依次执行以下语句，添加 Zone，并设置 Zone 的区域与 IDC 属性。

   本节以待添加 Zone 为 zone4，且 REGION='HANGZHOU',IDC='HZ1' 为例，提供操作指导。

   ```sql
   obclient> ALTER SYSTEM ADD ZONE zone4 REGION HANGZHOU;
   obclient> ALTER SYSTEM START ZONE zone4;
   obclient> ALTER SYSTEM ALTER ZONE zone4 SET REGION='HANGZHOU',IDC='HZ1';

   ```
 5. 执行如下命令，向集群中添加 OBServer 节点：

   ```bash
   ALTER SYSTEM ADD SERVER 'ip:port' [,'ip:port'...] [ZONE='zone'];

   ```

   ```

 上一篇 下一篇 ![有帮助](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) 咨询热线
