迁移分片请求
用于迁移数据库分片的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 | 数据库当前繁忙。 |