curl -u shiva:shiva -XPUT 'localhost:8902/hippo/v1/_backup/create_service?pretty' -H 'Content-Type: application/json' -d'{ "type" : "local", "name" : "test_local_service", "params" : { "end_point" : "/nn1", // required for s3 and hdfs "username" : "melon", // required for s3 and hdfs "password" : "warp", // required for s3 and hdfs "local_path" : "/tmp/test_backup" } }';
复制
Hippo持表的备份与恢复,本节介绍相关内容。
创建备份服务
备份服务表示备份的后端存储服务,当前支持S3、HDFS 与 Local(备份到本地,且仅限Standalone模式) 三种。
参数说明:
参数 | 描述 | 是否必选 |
---|---|---|
type |
备份服务类型 |
是,S3 / HDFS / Local |
name |
备份服务名 |
是,集群唯一 |
end_point (params) |
备份服务连接串 |
S3与HDFS类型必填 |
username (params) |
连接备份服务的用户名 |
S3与HDFS类型必填 |
password (params) |
连接备份服务的密码 |
S3与HDFS类型必填 |
local_path |
本地路径 |
Local类型必填 |
创建备份仓库
备份服务创建后,需要在备份服务上创建备份仓库。
curl -u shiva:shiva -XPUT 'localhost:8902/hippo/v1/_backup/create_warehouse?pretty' -H 'Content-Type: application/json' -d'{ "name" : "test_warehouse", "service_name" : "test_local_service", "flag" : "create/link/link_or_create" }';
复制
参数说明:
参数 | 描述 | 是否必选 |
---|---|---|
name |
备份仓库名 |
是,集群唯一 |
service_name |
备份服务名 |
是 |
flag |
控制创建备份仓库时,在备份服务创建资源的逻辑 |
是,create/link/link_or_create,create表示资源在备份服务上必须不存在;link表示资源在备份服务上必须已存在,备份仓库会直接使用已存在的资源;link_or_create表示,如果资源不存在则创建,如果资源已存在则使用 |
创建快照
备份仓库创建后,就可以对表创建快照。
curl -u shiva:shiva -XPUT 'localhost:8902/hippo/v1/_backup/create_snapshot?pretty' -H 'Content-Type: application/json' -d'{ "name" : "test_snapshot", "warehouse_name" : "test_warehouse", "database_name" : "default", "table_name" : "book", "wait_for_completion" : true, "timeout" : "2m" }';
复制
参数说明:
参数 | 描述 | 是否必选 |
---|---|---|
name |
快照名 |
是,集群唯一 |
warehouse_name |
备份仓库名 |
是 |
database_name |
表所在数据库 |
否,默认"default" |
table_name |
表名 |
是 |
wait_for_completion |
是否等待快照创建完成 |
否,默认true |
timeout |
等待快照创建完成的超时时间 |
否,默认5分钟 |
从快照恢复
可以将任意快照恢复成Hippo表。
curl -u shiva:shiva -XPOST 'localhost:8902/hippo/v1/_backup/restore?pretty' -H 'Content-Type: application/json' -d'{ "warehouse_name" : "test_warehouse", "snapshot_name" : "test_snapshot", "database_name" : "default", "table_name" : "book_restore", "override" : false, "wait_for_completion" : true, "timeout" : "2m" }';
复制
参数说明:
参数 | 描述 | 是否必选 |
---|---|---|
name |
快照名 |
是,表示恢复的目标快照 |
warehouse_name |
备份仓库名 |
是 |
database_name |
目标表所在数据库 |
否,默认"default" |
table_name |
目标表名 |
是 |
override |
当目标表已存在时,是否进行覆盖 |
否,默认为false |
wait_for_completion |
是否等待快照创建完成 |
否,默认true |
timeout |
等待快照创建完成的超时时间 |
否,默认5分钟 |
查看备份服务 / 备份仓库 / 快照
curl -u shiva:shiva -XGET 'localhost:8902/hippo/v1/_backup/get_service/{pattern}?pretty' curl -u shiva:shiva -XGET 'localhost:8902/hippo/v1/_backup/get_warehouse/{pattern}?pretty' curl -u shiva:shiva -XGET 'localhost:8902/hippo/v1/_backup/get_snapshot/{pattern}?pretty'
复制
删除备份服务 / 备份仓库 / 快照
curl -u shiva:shiva -XDELETE 'localhost:8902/hippo/v1/_backup/delete_service/{name}?pretty' curl -u shiva:shiva -XDELETE 'localhost:8902/hippo/v1/_backup/delete_warehouse/{name}?pretty' curl -u shiva:shiva -XDELETE 'localhost:8902/hippo/v1/_backup/delete_snapshot/{name}?pretty&delete_on_service=true';
复制
删除快照时候,使用delete_on_service控制是否同时删除备份数据,默认为true。