---
title: "启动 OceanBase 集群 - OceanBase 数据库 V4.3.0 | OceanBase 文档中心"
description: 启动 OceanBase 集群 本文将以一个 3 副本的 OceanBase 集群为例，介绍如何通过 obshell 启动 OceanBase 集群。本文中将所有场景分为两类： OceanBase 数据库由 obshell 管理 OceanBase 数据库不由 obshell 管理 判断 OceanBase 集群是否…
---
切换语言

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

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

# 启动 OceanBase 集群

更新时间：2026-04-10 11:58:35

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.3.0/zh-CN/700.reference/1500.Components-and-Tools/100.manage/100.obshell/210.use-case/310.start-oceanbase-cluster.md)  

本文将以一个 3 副本的 OceanBase 集群为例，介绍如何通过 obshell 启动 OceanBase 集群。本文中将所有场景分为两类：

- OceanBase 数据库由 obshell 管理
 - OceanBase 数据库不由 obshell 管理

判断 OceanBase 集群是否由 obshell 管理，详细方法可参见 [接管非 obshell 部署集群](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000671671) 中的 **步骤 3**。

## 部署模式

本文中三台机器的使用情况如下：

| 角色 | 机器 | 备注 |
| --- | --- | --- |
| OBServer 节点 | 10.10.10.1 | OceanBase 数据库 zone1 |
| OBServer 节点 | 10.10.10.2 | OceanBase 数据库 zone2 |
| OBServer 节点 | 10.10.10.3 | OceanBase 数据库 zone3 |

## OceanBase 数据库由 obshell 管理

### 前提条件

所有 obshell 都正常运行，详情可参见 [启动和停止 obshell](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000671669)。

### 通过 API 启动

#### 说明

通过命令行命令调用 API 时，需注意以下信息：

- 以下 API 调用后会创建异步任务，因此需要确认任务完成后才可进行下一步。详细步骤可参见 [获取任务的详细信息](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000694621)。
 - obshell 会对被调用的 API 进行安全校验。因此，您在每次调用 API 之前都需先参考 [API 混合加密](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000694620) 一文对请求进行加密，并在 curl 命令中配置加密后的请求头部（`${request_headers}`）和请求体（`${request_body}`）。

调用集群内的任一 obshell 的 `/api/v1/ob/start` 接口启动节点服务。

- 命令行命令调用对应 API 接口的说明可参见 [启动集群](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000694634)。
 - 通过 obshell-sdk-python 请求对应 API 方法的介绍可参见 [启动集群](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000904134)。
 - 通过 obshell-sdk-go 请求对应 API 方法的介绍可参见 [启动集群](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000904161)。

#### 场景 1：启动集群所有节点服务

    命令行命令   Python   GO

```shell
[admin@test001 ~]$ curl -H "Content-Type: application/json" -X POST -d '${request_body}' http://10.10.10.1:2886/api/v1/ob/start

```

加密前的请求体内容如下：

```shell
{
    "scope": {
        "type": "GLOBAL",
        "target": ""
    }}

```

```python
···
client = ClientSet("10.10.10.1", 2886, PasswordAuth("****"))
client.v1.start_sync("GLOBAL", None)  # 调用 /api/v1/ob/start
···

```

```go
···
client, err := services.NewClientWithPassword("10.10.10.1", 2886, "****")
req := client.V1().NewStartRequest(v1.SCOPE_GLOBAL)
dag, err := client.V1().StartSyncWithRequest(req)  // 调用 /api/v1/ob/start
···

```

#### 场景 2：启动某些节点服务

    命令行命令   Python   GO

```shell
[admin@test001 ~]$ curl -H "Content-Type: application/json" -H 'X-OCS-Header:${request_headers}' -X POST -d '${request_body}' http://10.10.10.1:2886/api/v1/ob/start

```

```shell
{
    "scope": {
        "type": "SERVER",
        "target": "10.10.10.1:2886,10.10.10.2:2886"
    }}

```

```python
···
client = ClientSet("10.10.10.1", 2886, PasswordAuth("****"))
client.v1.start_sync("SERVER", "10.10.10.1:2886,10.10.10.2:2886")  # 调用 /api/v1/ob/start
···

```

```go
···
client, err := services.NewClientWithPassword("10.10.10.1", 2886, "****")
req := client.V1().NewStartRequest(v1.SCOPE_SERVER, "10.10.10.1:2886,10.10.10.2:2886")
dag, err := client.V1().StartSyncWithRequest(req)  // 调用 /api/v1/ob/start
···

```

#### 场景 3：启动某些 Zone 内的节点服务

    命令行命令   Python   GO

```

```shell
{
    "scope": {
        "type": "ZONE",
        "target": "zone1,zone2"
    }}

```

```python
···
client = ClientSet("10.10.10.1", 2886, PasswordAuth("****"))
client.v1.start_sync("ZONE", "zone1,zone2")  # 调用 /api/v1/ob/start
···

```

```go
···
client, err := services.NewClientWithPassword("10.10.10.1", 2886, "****")
req := client.V1().NewStartRequest(v1.SCOPE_ZONE, "zone1,zone2")
dag, err := client.V1().StartSyncWithRequest(req)  // 调用 /api/v1/ob/start
···

```

### 通过 obshell 命令启动

#### 场景 1：启动集群所有节点服务

在任一节点执行如下命令即可拉起所有未启动的节点服务，命令详情参见 [obshell cluster start](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000671675)。

```shell
[admin@test001 ~]$ /home/admin/oceanbase/bin/obshell cluster start -a

```

#### 场景 2：启动某些节点服务

在任一节点执行如下命令启动对应节点的服务，命令详情参见 [obshell cluster start](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000671675)。

```shell
[admin@test001 ~]$ /home/admin/oceanbase/bin/obshell cluster start -s 10.10.10.1:2886,10.10.10.2:2886

```

#### 场景 3：启动某些 Zone 内的节点服务

在任一节点执行如下命令启动对应 Zone 内的节点服务，命令详情参见 [obshell cluster start](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000671675)。

```shell
[admin@test001 ~]$ /home/admin/oceanbase/bin/obshell cluster start -z zone1,zone2

```

## OceanBase 数据库不由 obshell 管理

此时集群不由 obshell 管理，需要进行接管。在接管的同时，会拉起所有的 OBServer 进程使得集群恢复正常。详情参见 [接管非 obshell 部署集群](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000671671)。

## 相关文档

- 通过 SQL 命令启动 OBServer 节点的详细操作可参见 [重启节点](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000639943) 的步骤 7。
 - 通过 SQL 命令启动 Zone 的详细操作可参见 [启动 Zone](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000639932)。

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