联 系 我 们
售前咨询
售后咨询
微信关注:星环科技服务号
更多联系方式 >
5.13 备份与恢复
更新时间:8/5/2024, 6:58:36 AM

Hippo持表的备份与恢复,本节介绍相关内容。

创建备份服务

备份服务表示备份的后端存储服务,当前支持S3、HDFS 与 Local(备份到本地,且仅限Standalone模式) 三种。

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"
}
}';
复制

参数说明:

表 71. Restful API 创建备份服务操作参数说明
参数 描述 是否必选

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"
}';
复制

参数说明:

表 72. Restful API 创建备份仓库操作参数说明
参数 描述 是否必选

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"
}';
复制

参数说明:

表 73. Restful API 创建快照操作参数说明
参数 描述 是否必选

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"
}';
复制

参数说明:

表 74. Restful API 从快照恢复操作参数说明
参数 描述 是否必选

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。