首批通过分布式安全可靠测评,为关键业务系统打造
停止集群
更新时间:2026-04-10 11:58:35
本文档介绍如何停止集群中指定节点。
调用说明
接口约束
obshell Server 会对该 API 进行安全校验,详细介绍可参见 API 混合加密。
请求路径
POST /api/v1/ob/stop
请求参数
| 参数 | 类型 | 必选 | 示例值 | 描述 |
|---|---|---|---|---|
| scope | Scope | 是 | { "type": "GLOBAL" } |
设置应用该配置的 OBServer 节点的范围。详细的内容介绍可参见下文 Scope 信息的数据结构。 |
| force | bool | 否 | true | 为 true 时表示 kill observer 进程。 |
| forcePassDag | []string | 否 | 无 | 指定前序启/停任务的 ID。仅在特殊情况下使用(当集群运维被一个或者多个前序运维任务锁住时,可以使用该参数将前序任务解锁)。 |
Scope 信息的数据结构:
| 参数 | 类型 | 必选 | 示例值 | 说明 |
|---|---|---|---|---|
| type | string | 是 | "GLOBAL" | 设置配置的生效级别,可取值为 GLOBAL,ZONE,SERVER。 |
| target | []string | 否 | 示例值:["10.10.10.1:2886", "10.10.10.2:2886"] 或者 ["zone1","zone2"] | 当 type 为 SERVER 时,设置为 OBServer 节点的列表;当 type 为 ZONE 时,设置为 Zone 的列表;当 type 为 GLOBAL 时,无需设置。 |
返回结果
| 参数 | 类型 | 说明 |
|---|---|---|
| successful | bool | 请求是否成功。 |
| timestamp | time.Time | 服务端完成请求的时间戳。 |
| duration | int | 服务端处理请求的时间(毫秒)。 |
| status | int | 符合 HTTP Status 规范的编码。 |
| traceId | string | 请求的 Trace ID。 |
| data | DagDetailDTO | 详情参见下文 DagDetailDTO 信息的数据结构。 |
| error | ApiError | 请求产生的 Error,包含如下信息:
|
DagDetailDTO 信息的数据结构如下:
| 参数 | 类型 | 说明 |
|---|---|---|
| id | string | DAG 通用 ID。 |
| dag_id | int | DAG id,是记录在 OceanBase 数据库中的主键。 |
| name | string | DAG 名称。 |
| stage | int | DAG 的当前执行阶段。 |
| max_stage | int | DAG 执行过程中的总阶段数。 |
| state | string | DAG 执行状态。 |
| operator | string | DAG 执行操作类型。 |
| start_time | time.Time | DAG 执行起始时间。 |
| end_time | time.Time | DAG 执行结束时间。 |
| additional_data | map[string]any | DAG 其他数据。 |
| nodes | []NodeDetailDTO | DAG 内的所有 Node 信息,详见 获取 Node 的详细信息。 |
示例
请求示例
POST 10.10.10.1:2886/api/v1/ob/stop
{
"scope": {
"type": "GLOBAL"
},
"force": true
}
返回示例
{
"successful": true,
"timestamp": "2024-01-10T11:24:21.274727587+08:00",
"duration": 3,
"status": 200,
"traceId": "d0991236cc3983cf",
"data": {
"id": "22130706433028869",
"dag_id": 11,
"name": "Stop OB",
"stage": 1,
"max_stage": 5,
"state": "READY",
"operator": "RUN",
"start_time": "2024-01-10T11:24:21.272439704+08:00",
"end_time": "2024-01-10T11:24:21.272439704+08:00",
"additional_data": null,
"nodes": null
}
}
相关文档
除通过命令行调用 API 接口外,还可以通过 SDK 方法调用 API。