使用nodetool备份cassandra密钥空间
我正在Ubuntu 14.04上使用Cassandra。从文档中,我可以看到运行命令:使用nodetool备份cassandra密钥空间,cassandra,Cassandra,我正在Ubuntu 14.04上使用Cassandra。从文档中,我可以看到运行命令: nodetool snapshot <keyspace name> 根据文档,快照应显示在以下目录中: /var/lib/cassandra/data/my_keyspace/<table names>/snapshots/1455455429118 我不确定147c8cc0d31c11e5aacb3b02dd594b59所代表的是什么 我正在尝试自动化这个过程,如果我不知道这个
nodetool snapshot <keyspace name>
根据文档,快照应显示在以下目录中:
/var/lib/cassandra/data/my_keyspace/<table names>/snapshots/1455455429118
我不确定147c8cc0d31c11e5aacb3b02dd594b59所代表的是什么
我正在尝试自动化这个过程,如果我不知道这个随机散列值,就不可能知道要选择哪个目录。有没有办法禁用此功能或从nodetool命令的输出中破译此功能?来自文档 拍快照 使用nodetool snapshot命令为每个节点拍摄快照。要获取全局快照,请使用并行ssh实用程序(如pssh)运行nodetool snapshot命令 快照首先刷新所有内存中对磁盘的写入,然后生成快照 每个键空间的SSTable文件的硬链接。你一定吃饱了 在节点上释放磁盘空间,以便为您的应用程序创建快照 数据文件。单个快照只需要很少的磁盘空间。然而, 快照会导致磁盘使用率随时间的推移快速增长 因为快照可以防止旧的过时数据文件被删除 删除。快照完成后,可以移动备份文件 如果需要,可以移动到其他位置,也可以将其留在原位 运行nodetool snapshot命令,指定主机名、JMX端口和键空间 快照是在
数据目录\u位置/keyspace\u名称/table\u名称/snapshots/snapshot\u名称
目录中创建的。每个快照目录都包含许多.db文件,其中包含快照时的数据
Cassandra在拍摄快照之前刷新节点,拍摄
快照,并将数据存储在每个
数据目录中的键空间。如果未指定
快照目录Cassandra使用-t选项命名目录
使用快照的时间戳,例如1391460334889。跟随
升级Cassandra之前拍摄快照的过程。什么时候
升级、备份所有密钥空间。有关快照的详细信息,
看
如果未指定快照名称,Cassandra将使用快照的时间戳
命名快照目录。如果键空间不包含数据,则不会创建空目录。
示例:单表快照
仅拍摄音乐键空间中播放列表表的快照。在Linux上,在Cassandra bin目录中,例如:
$ ./nodetool snapshot -cf playlists music
Requested creating snapshot(s) for [music] with snapshot name [1391461910600]
Snapshot directory: 1391461910600
Cassandra创建名为1391461910600的快照目录,其中包含中播放列表表的备份数据
/var/lib/cassandra/data/music/playlists-bf8118508cfd11e3972273ded3cb6170/snapshots
nodetool <options> snapshot (
( -cf <table> | --column-family <table> )
( -t <tag> | --tag <tag> )
-- ( <keyspace> ) | ( <keyspace> ... )
)
在播放列表-bf8118508cfd11e3972273ded3cb6170
,-bf8118508cfd11e3972273ded3cb6170
是UUID
因此它是以这种方式生成的。Ad有一些选项可以监视正在写入的sstables,并增量备份这些文件
查看,&我想我没有明确说明这个问题。我不是问最后的时间戳。我在询问表名末尾的随机字符串后缀。例如,
playlists-bf8118508cfd11e3972273ded3cb6170
在末尾包含字符串bf8118508cfd11e3972273ded3cb6170
,我不知道该字符串是如何生成的?它是UUID,并且是自动生成的。我可以禁用它吗?基本上,我正在尝试编写一个unix脚本,它将运行nodetool命令来创建快照。将每个列族的最新快照目录压缩到单个Zip文件中,并将Zip文件上载到S3。但是,如果每个列族有多个目录,如何确定要选择哪个目录?我面临的问题是,同一个表有多个具有不同UUID的目录。我不知道它们是如何创建的,应该使用哪一个。此外,我在文档中的任何地方都找不到有关这方面的信息。这就是为什么问我是否可以禁用UUID部分并像在Cassandra 2.0中那样存储在目录结构中?
$ nodetool -h localhost -p 7199 snapshot mykeyspace
$ ./nodetool snapshot -cf playlists music
Requested creating snapshot(s) for [music] with snapshot name [1391461910600]
Snapshot directory: 1391461910600
/var/lib/cassandra/data/music/playlists-bf8118508cfd11e3972273ded3cb6170/snapshots
nodetool <options> snapshot (
( -cf <table> | --column-family <table> )
( -t <tag> | --tag <tag> )
-- ( <keyspace> ) | ( <keyspace> ... )
)
/var/lib/cassandra/data/music/playlists-bf8118508cfd11e3972273ded3cb6170/snapshots