---
title: github-fill
description: 停止 OceanBase 集群 本文将以一个 3 副本的 OceanBase 集群为例，介绍如何通过 obshell 停止 OceanBase 集群。 前提条件 OceanBase 集群已被 obshell 运维管理，详细的判断方法及接管操作可参见 接管非 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/320.stop-oceanbase-cluster.md)  

本文将以一个 3 副本的 OceanBase 集群为例，介绍如何通过 obshell 停止 OceanBase 集群。

## 前提条件

- OceanBase 集群已被 obshell 运维管理，详细的判断方法及接管操作可参见 [接管非 obshell 部署集群](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000671671)。
 - OceanBase 集群的所有 OBServer 节点和 obshell 都正常运行。

## 部署模式

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

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

## 通过 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/stop` 停止集群。

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

### 场景 1：停止所有 observer 进程

    命令行命令   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/stop

```

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

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

```

```python
···
client = ClientSeta("10.10.10.1", 2886, PasswordAuth("****"))
client.v1.stop_sync("GLOBAL", None, force=True)  ## 调用 /api/v1/ob/stop
···

```

```go
···
client, err := services.NewClientWithPassword("10.10.10.1", 2886, "****")
req := client.V1().NewStopRequest(v1.SCOPE_GLOBAL).SetForce()
dag, err := client.V1().StopSyncWithRequest(req)   // 调用 /api/v1/ob/stop
···

```

### 场景 2：停止某些 observer 进程

    命令行命令   Python   GO

```

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

```

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

```

```go
···
client, err := services.NewClientWithPassword("10.10.10.1", 2886, "****")
req := client.V1().NewStopRequest(v1.SERVER, "10.10.10.1:2886,10.10.10.2:2886").SetForce()
dag, err := client.V1().StopSyncWithRequest(req)   // 调用 /api/v1/ob/stop
···

```

### 场景 3：停止某些 Zone 内的 observer 进程

    命令行命令   Python   GO

```

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

```

```python
···
client = ClientSet("10.10.10.1", 2886, PasswordAuth("****"))
client.v1.stop_sync("ZONE", "zone1", force=True)  ## 调用 /api/v1/ob/stop
···

```

```go
···
client, err := services.NewClientWithPassword("10.10.10.1", 2886, "****")
req := client.V1().NewStopRequest(v1.SCOPE_ZONE, "zone1").SetForce()
dag, err := client.V1().StopSyncWithRequest(req)   // 调用 /api/v1/ob/stop
···

```

### 场景 4：隔离 OBServer 节点

    命令行命令   Python   GO

```

```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.stop_sync("SERVER", "10.10.10.1:2886,10.10.10.2:2886")  ## 调用 /api/v1/ob/stop
···

```

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

```

### 场景 5：隔离 Zone

    命令行命令   Python   GO

```

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

```

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

```

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

```

## 通过 obshell 命令停止

### 场景 1：停止所有 observer 进程

在任一节点执行如下命令停止所有节点的 observer 进程。命令详情参见 [obshell cluster stop](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000671675)。

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

```

### 场景 2：停止某些 observer 进程

在任一节点执行如下命令停止对应节点的 observer 进程。命令详情参见 [obshell cluster stop](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000671675)。

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

```

### 场景 3：停止某些 Zone 内的 observer 进程

在任一节点执行如下命令停止对应 Zone 内的 observer 进程。命令详情参见 [obshell cluster stop](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000671675)。

```shell
[admin@test001 ~]$ /home/admin/oceanbase/bin/obshell cluster stop -z zone1 -f

```

### 场景 4：隔离 observer 节点

在任一节点执行如下命令隔离 observer 节点。命令详情参见 [obshell cluster stop](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000671675)。

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

```

### 场景 5：隔离 Zone

在任一节点执行如下命令隔离 Zone。命令详情参见 [obshell cluster stop](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000671675)。

```shell
[admin@test001 ~]$ /home/admin/oceanbase/bin/obshell cluster stop -z zone1 -I

```

## 相关文档

- `STOP ZONE` 的详细介绍可参见 [隔离 Zone](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000639937)。
 - `STOP SERVER` 的详细介绍可参见 [隔离节点](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000639934)。

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