首批通过分布式安全可靠测评,为关键业务系统打造
创建 OBProxy 集群
更新时间:2025-07-31 17:40:54
功能说明
创建 OBProxy 集群时使用的接口。
调用说明
接口约束
调用者需要通过 OCP 应用服务鉴权。
请求路径
POST /api/v2/obproxy/clusters
请求参数
body:
| 参数 | 类型 | 必选 | 示例值 | 描述 |
|---|---|---|---|---|
| name | String | 是 | foo | OBProxy 集群名。 |
| address | String | 是 | foo.bar | OBProxy 集群访问地址。 |
| port | Integer | 是 | 2883 | OBProxy 集群访问端口。 |
| workMode | String | 否 | CONFIG_URL | OBProxy 集群工作模式,取值范围: |
| obproxyInstallParam | Object | 是 | -- | 创建 OBProxy 集群时需要安装的 OBProxy 信息。 |
| ├─hostIds | Array | 是 | [1,2] | 需要被安装 OBProxy 的主机 ID。 |
| ├─sqlPort | Integer | 是 | 2883 | OBProxy SQL 端口。 |
| ├─exportPort | Integer | 是 | 2884 | OBProxy Exproter 端口。 |
| ├─version | String | 否 | obproxy-1.9.1.1-1919579.el7.x86_64.rpm | 软件包版本,不部署 OBProxy Server 时不需要指定。 |
| obLinks | Array | 否 | -- | 可连接 OceanBase 集群信息,详情参见 ObLink 数据结构。 |
| startupParameters | Array | 否 | -- | OBProxy 启动参数,详情参见 ObproxyParameter 数据结构,可以为空数组。 |
| parameters | Array | 否 | -- | OBProxy 非启动参数,详情参见 ObproxyParameter 数据结构,可以为空数组。 |
| password | String | 否 | -- | proxysys 账号的密码,OBProxy V3.1.0 之前的版本不支持指定该密码。 |
ObLink 数据结构
| 参数 | 类型 | 必选 | 示例值 | 描述 |
|---|---|---|---|---|
| clusterName | String | 是 | foo | OceanBase 集群名。 |
| obClusterId | Integer | 否 | 1 | 集群在 OceanBase 端的 ID。 |
| username | String | 是 | proxyro | 连接集群用户。 |
ObproxyParameter 数据结构
| 参数 | 类型 | 必选 | 示例值 | 描述 |
|---|---|---|---|---|
| name | String | 是 | foo | 参数名称。 |
| value | String | 是 | bar | 参数值。 |
返回结果
基础数据结构
| 参数 | 类型 | 说明 |
|---|---|---|
| data | Object | 异步任务信息,详情参见 任务信息。 |
| successful | Boolean | 请求是否成功。 |
| timestamp | Datetime | 服务端完成请求的时间戳。 |
| duration | Integer | 服务端处理请求的时间(毫秒)。 |
| status | Integer | 符合 HTTP Status 规范的编码。 |
| traceId | String | 请求的 Trace ID,用于排查问题。 |
| server | String | 响应请求的应用服务的地址。 |
示例
请求示例
POST /api/v2/obproxy/clusters
{
"name": "OBProxy001",
"installPath": "/home/admin/obproxy",
"runUser": "admin",
"address": "foo.bae",
"port": 2883,
"password": "",
"workMode": "CONFIG_URL",
"obproxyInstallParam": {
"version": "obproxy-x.x.x.-752024120610.el7.x86_64.rpm",
"sqlPort": 2883,
"rpcPort": 2885,
"exporterPort": 2884,
"hostIds": [1]
}
}
返回示例
{
"data": {
"creator": "admin",
"executor": "xxx.xxx.xxx.xxx",
"id": 31257,
"name": "Install obproxy",
"operation": "EXECUTE",
"startTime": "2021-09-03T15:05:01.101+08:00",
"status": "RUNNING",
"subtasks": [{
"description": "Finish node",
"downstreams": [],
"id": 32955,
"name": "Finish node",
"nodeType": "JAVA_TASK",
"operation": "EXECUTE",
"parallelIdx": -1,
"prohibitRollback": false,
"runTime": 1,
"seriesId": 1,
"status": "PENDING",
"timeout": 0,
"upstreams": [32954]
},
{
"description": "Prepare obproxy install",
"downstreams": [32955],
"id": 32954,
"name": "Prepare obproxy install",
"nodeType": "JAVA_TASK",
"operation": "EXECUTE",
"parallelIdx": -1,
"prohibitRollback": false,
"runTime": 1,
"seriesId": 0,
"status": "READY",
"timeout": 300,
"upstreams": []
}],
"taskDefinitionId": -1,
"type": "MANUAL"
},
"duration": 82,
"server": "a83ad33525",
"status": 200,
"successful": true,
"timestamp": "2021-09-03T15:05:01.106+08:00",
"traceId": "e874a2cead544112"
}