CMEM回档工具说明

>>返回:CMEM使用手册

注:CMEM C型暂不支持本功能。如需对CMEM表进行回档,请通过企业QQ联系技术支持。

目录

1 通用说明

开发者可以使用CMEM回档工具对腾讯云平台CMEM中的表进行回档操作。
CMEM回档工具通过定期镜像和实时流水重建,将CMEM表回档到指定时间,且可以保证所有数据的时间切片一致。
期间原有表的访问不受影响,回档操作会产生新表。回档完后,用户可以看到原来的表和新建的表。新表按照CMEM服务计费规则计费。

1.1 权限控制

为了保证表数据的安全性,本工具会对请求做鉴权。

1.2 使用限制

环境限制
本工具只能在CVM linux服务器上运行。

数据限制
CMEM只支持回档到当前时间点追溯到3天以内的数据,以10分钟为粒度。

次数限制
由于回档数据是资源消耗型服务,所以对应用的使用次数有限制。目前试用期回档操作免费,但是对回档产生的新表收费。
在使用前,需申请1个token(密钥),以应用ID和表名称为单位。在发起回档命令时,系统会校验这个密钥然后确认该应用的请求次数上限。
(token申请方式详见下文2.3节关于参数“token”的说明)

2 工具使用说明

2.1 安装说明

1. 下载CMEM回档工具:

版本 发布日期 说明
CmemRollbackTools_x32_v1.0.1 2012-10-29 CMEM回档工具全量公布,提供CMEM回档工具第一版下载链接。



2. 将该工具保存到本地后,上传到CVM,然后登录CVM(仅限Linux服务器)上对工具包进行解压。
解压过程如下:

unzip CmemRollbackTools_x32_v1.0.1.zip


3. 解压后,会出现1个二进制执行文件。文件说明如下:
CmemRollbackTools:CMEM回档工具。

4. 此工具无需安装,直接在CVM(仅限Linux服务器)上运行即可。


2.2 命令说明

1. 查看工具帮助以获取工具命令说明

$ ./CmemRollbackTools -h


2. 查看工具版本

$ ./CmemRollbackTools -v


2.3 执行回档任务

1. 命令示例

$ ./CmemRollbackTools start 100 cmem1 cmem1_rb 201209181200 06437044-0168-11e2-b95d-00e081d55db0
$ ./CmemRollbackTools --nostrict start 100 cmem1 cmem1_rb 201209181200 06437044-0168-11e2-b95d-00e081d55db0



2. 输入参数说明

名称 可选 类型 说明
--nostrict 可选 string 可选参数,表示不管binlog是否完整,都发起回档任务
start 必选 string 命令类型,表示发起回档任务。
app_id 必选 string (例如:100) 回滚表所在的app_id,调用工具的机器必须也在该app_id名下。
instance_name 必选 string (例如:cmem1) 回滚表的名字,必须在app_id名下。
target_instance_name 必选 string (例如:cmem1_rb) 目标表的名字,必须不存在,CMEM会在app_id名下以此名字创建新表。回档的数据存在该表中。
rollback_timepoint 必选 string (例如:201209181200) 代表要回档到的时刻。201209181200表示2012年09月18日12点00分,必须以此格式表示时间。
token 必选 string (例如:06437044-0168-11e2-b95d-00e081d55db0) 回档的密钥,与app_id和instance_name对应。

1个密钥只能成功发起回档1次。
因此每次发起回档操作前,开发者都需要按照模版提交申请单以获取token,申请方式详见这里



3. 执行结果
如果命令执行成功,工具输出结果如下,对流水缺失,会提示缺失时段:

lost binlog <start_time end_time>:

       2012-09-17-11:45:00     2012-09-17-11:50:00
       2012-09-17-12:45:00     2012-09-17-12:50:00
       2012-09-17-13:45:00     2012-09-17-13:50:00
       2012-09-17-14:45:00     2012-09-17-14:50:00

start ok, appId:100 tableName:cmem1 timePoint:201209181200 destTableName:cmem1_rb



如果命令执行失败,工具输出结果如下:

execute failed:cmem rollback internal error



4. 返回码说明

返回码 说明
0 任务发起成功
-1 任务被接收,排队中
-50 CMEM内部错误
-51 CMEM维护中
-100 权限错误
-110 token不存在
-111 token已被使用
-120 timepoint格式不正确
-121 timepoint时间太早
-122 timepoint时间太晚
-130 源表不存在
-131 目标表已经存在
-132 目标表名字不合法
-140 超过任务数量上限
-150 CMEM资源受限
-151 CMEM服务器繁忙
-152 源表binlog缺失
-160 源表数据量太大
-200 CMEM运维中止
-201 目标表出错

2.4 查询回档进度

1. 命令示例

$ ./CmemRollbackTools query 100



2. 输入参数说明

名称 可选 类型 说明
query 必选 string 命令类型,表示查询回档任务。
app_id 必选 string (例如:100) 查询的app_id,命令会列出该app_id下的所有回档任务。



3. 执行结果
如果命令执行成功,工具输出结果如下:

appId:100 tableName:cmem1 rollbackPoint:201209171100 destTableName:cmem_rb_hey stat:100% createTime:2012-9-17 14:25:6
appId:100 tableName:cmem1 rollbackPoint:201209171200 destTableName:cmem1_rb_1200 stat:100% createTime:2012-9-17 16:25:48



如果命令执行失败,工具输出结果如下:

execute failed:cmem rollback internal error



4. 输出参数说明

名称 说明
appId 回档的应用标识
tableName 回档的表名称
rollbackPoint 回档的时间点
destTableName 目标表的名称
stat 回档任务的状态:

0% ~ 99% 表示任务的进度
100% 表示任务完成
-1 表示任务失败
-2 表示任务被取消
-3 表示任务在排队中

createTime 发起回档任务的时间

以上信息是否解决您的问题?

Copyright © 1998 - 2020 Tencent. All Rights Reserved.

腾讯公司 版权所有

返回顶部