波斯马BOSSMA Information Technology

Windows下Cassandra备份和还原的批处理

发布时间:2011年12月14日 / 分类:NoSQL / 13,704 次浏览 / 评论

在网上看到一个网友写的《自制Cassandra数据库备份还原工具》,本来想能拿过来就用,可惜是在linux上用的,Windows操作系统上根本用不了,很多命令都不同。于是乎我做了个移植工作,边看批处理命令,边修改这个脚本,总算初步搞定。

这里讲的Cassandra的备份还原使用了自带的工具sstable2json和json2sstable,关于这两个的介绍可以看如下两篇文章:

http://wiki.apache.org/cassandra/Operations

http://www.datastax.com/docs/1.0/utilities/sstable2json

使用语法:

outfile是备份到的地址,sstable是数据文件的地址。

还原的时候要指定KeySpace和Column Family,如果手动执行这个命令,要还原的Column Family多了,那可真是个累死人不偿命的活啊。

批处理原理:

这里所谓的批处理就是对相似的操作自动化的执行,减少人的体力劳动。通过遍历要备份和还原的文件夹中的数据文件,自动调用上边的两个命令进行备份或还原操作。

具体实现:

说了这么多,还是看看具体怎么做的,来点干货。

将这个文件保存到cassandra的根目录,文件名随便,但是需要.bat的后缀。
在命令提示符工具中进入这个目录,输入脚本文件名称,例如:datatool.bat。
如果不带参数,会显示如何使用的提示,在上边脚本的最后可以看到将要显示的信息,这里再说说怎么使用:

备份:

一共三个参数:
-b 指定备份操作
D:\cassandra\data\system 要备份的KeySpace的路径
D:\cassandra\backup\system 备份文件的存放路径

这个命令执行后,会在备份存放路径下创建一个以当前时间为名称的文件夹。

还原:

一共三个参数:
-r 指定还原操作
D:\cassandra\data\system 要还原的KeySpace的路径
D:\cassandra\backup\system 备份文件的存放路径

这个命令执行后,会根据备份文件的名称自动获取Column Family,根据要还原的KeySpace路径获取KeySpace名称。

计划任务:

虽然上边的脚本已经帮助我们解决了很多枯燥的工作,但是仍然要人工取处理。

何不把这个脚本的执行添加到Windows的计划任务中去,每隔一段时间做一次备份。

这个具体的计划任务我就不做了,有兴趣的朋友自己试试吧。

本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自波斯马,原文地址《Windows下Cassandra备份和还原的批处理

关键字:

建议订阅本站,及时阅读最新文章!
【上一篇】 【下一篇】

目前有1 条评论

  1. 花郎吧 沙发:

    喜欢批处理的操作!!

发表评论