迁移分片请求

用于迁移数据库分片的REST API请求

方法 路径 描述
POST /v1/shards/actions/migrate 迁移多个分片
POST /v1/shards/{uid}/actions/migrate 迁移特定的分片

迁移多个分片

POST /v1/shards/actions/migrate

将给定的分片UID列表迁移到由target_node_uid指定的节点。这些分片可以来自多个数据库。此请求是异步的。

有关分片迁移用例和注意事项的更多信息,请参阅迁移数据库分片

所需权限

权限名称 角色
migrate_shard 管理员
集群成员
数据库成员

请求

示例HTTP请求

POST /shards/actions/migrate

示例 JSON 主体

{
  "shard_uids": ["2","4","6"],
  "target_node_uid": 9,
  "override_rack_policy": false,
  "preserve_roles": false,
  "max_concurrent_bdb_migrations": 3
}

请求头

描述
主机 cnm.cluster.fqdn 域名
Accept application/json 接受的媒体类型

请求体

请求体是一个JSON对象,可以包含以下字段:

字段 类型 描述
shard_uids array of strings 要迁移的分片UID列表。
target_node_uid integer 分片应迁移到的节点的UID。
override_rack_policy boolean 如果为true,则覆盖并忽略机架感知策略违规。
dry_run boolean 确定是否实际执行迁移。如果为true,则仅进行试运行。如果试运行成功,请求将返回200 OK状态码。否则,它将返回一个包含错误代码和描述的JSON对象。
preserve_roles boolean 如果为true,迁移后保留迁移的分片角色。
max_concurrent_bdb_migrations integer 可以迁移分片的并发数据库数量。

响应

返回一个包含action_uid的JSON对象。您可以通过GET /v1/actions/<action_uid>请求来跟踪操作的进度。

示例 JSON 主体

{
    "action_uid": "e5e24ddf-a456-4a7e-ad53-4463cd44880e",
    "description": "Migrate was triggered"
}

状态码

代码 描述
200 OK 没有错误。
400 Bad Request 参数冲突。
404 Not Found 需要但未提供分片UID列表,指定的分片不存在,或者需要但未提供节点UID。
500 Internal Server Error 迁移失败。

迁移分片

POST /v1/shards/{int: uid}/actions/migrate

将具有给定shard_uid的分片迁移到由target_node_uid指定的节点。如果分片已经在目标节点上,则不会发生任何操作。此请求是异步的。

有关分片迁移用例和注意事项的更多信息,请参阅迁移数据库分片

所需权限

权限名称 角色
migrate_shard 管理员
集群成员
数据库成员

请求

示例HTTP请求

POST /shards/1/actions/migrate

示例 JSON 主体

{
    "target_node_uid": 9,
    "override_rack_policy": false,
    "preserve_roles": false
}

请求头

描述
主机 cnm.cluster.fqdn 域名
Accept application/json 接受的媒体类型

URL 参数

字段 类型 描述
uid integer 要迁移的分片的唯一ID。

请求体

请求体是一个JSON对象,可以包含以下字段:

字段 类型 描述
target_node_uid integer 分片应迁移到的节点的UID。
override_rack_policy boolean 如果为true,则覆盖并忽略机架感知策略违规。
dry_run boolean 确定是否实际执行迁移。如果为true,则仅进行试运行。如果试运行成功,请求将返回200 OK状态码。否则,它将返回一个包含错误代码和描述的JSON对象。
preserve_roles boolean 如果为true,迁移后保留迁移的分片角色。

响应

返回一个包含action_uid的JSON对象。您可以通过GET /v1/actions/<action_uid>请求来跟踪操作的进度。

示例 JSON 主体

{
    "action_uid": "e5e24ddf-a456-4a7e-ad53-4463cd44880e",
    "description": "Migrate was triggered"
}

状态码

代码 描述
200 OK 没有错误。
404 Not Found 分片不存在,或者需要节点UID但未提供。
409 Conflict 数据库当前繁忙。
RATE THIS PAGE
Back to top ↑