我在Ubuntu 14.04上使用Cassandra。从文档中,我可以看到运行命令:
nodetool snapshot <keyspace name>
创建我的键空间的快照。
命令的输出是:
nodetool snapshot my_keyspace
Requested creating snapshot(s) for [my_keyspace] with snapshot name [1455455429118]
Snapshot directory: 1455455429118
根据文档,快照应该出现在目录中:
/var/lib/cassandra/data/my_keyspace/<table names>/snapshots/1455455429118
但是,表名末尾有一些哈希值。
我不确定它来自何处,也不确定该值是否始终相同。例如,表名是user_agents,快照目录是:
/var/lib/cassandra/data/my_keyspace/user_agents-147c8cc0d31c11e5aacb3b02dd594b59/snapshots/1455455429118
我不确定147c8cc0d31c11e5aacb3b02dd594b59
代表什么。
我正在尝试自动化这个过程,如果我不知道这个随机哈希值,就不可能知道要选择哪个目录。有没有办法从nodetool命令的输出中禁用它或解密它?
答案 0 :(得分:3)
来自文档。
使用nodetool snapshot命令为每个节点拍摄快照。要获取全局快照,请使用并行ssh实用程序(如pssh)运行nodetool snapshot命令。
快照首先刷新所有内存中的磁盘写入,然后创建一个 每个键空间的SSTable文件的硬链接。你必须有足够的 节点上的可用磁盘空间,以容纳您的快照 数据文件。单个快照需要很少的磁盘空间。然而, 快照可能会导致磁盘使用量随时间增长更快 因为快照可以防止旧的过时数据文件 删除。快照完成后,您可以移动备份文件 如果需要,可以到另一个地方,或者你可以将它们留在原地。
运行nodetool snapshot命令,指定主机名,JMX端口和密钥空间。
$ nodetool -h localhost -p 7199 snapshot mykeyspace
快照在data_directory_location/keyspace_name/table_name/snapshots/snapshot_name
目录中创建。每个快照目录都包含许多.db文件,其中包含快照时的数据。
Cassandra在拍摄快照之前刷新节点,然后拍摄 快照,并将数据存储在每个的快照目录中 数据目录中的键空间。如果您没有指定a的名称 快照目录使用-t选项,Cassandra命名目录 使用快照的时间戳,例如1391460334889.关注 升级Cassandra之前拍摄快照的过程。什么时候 升级,备份所有键空间。有关快照的更多信息, 见Apache documentation。
如果未指定快照名称,Cassandra会使用快照的timestamp
命名快照目录。如果键空间不包含数据,则不会创建空目录。
示例:单表快照
仅拍摄音乐键区中的播放列表表格。在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> ... )
)
选项包括:
(-h
| --host
)|
-p
| --port
)-pw
| --password
)(-u
| --username
)
-cf
或--column-family
,后跟要备份的表的名称。
-t
或--tag
,后跟快照名称。
- 分隔可能被误认为选项的选项和参数。
keyspace是使用-cf
时所需的一个键空间名称
选项,或一个或多个可选的键空间名称,用空格分隔。
<强> UPDATE :: 强>
/var/lib/cassandra/data/music/playlists-bf8118508cfd11e3972273ded3cb6170/snapshots
此处playlists-bf8118508cfd11e3972273ded3cb6170
, - bf8118508cfd11e3972273ded3cb6170
UUID
因此它以这种方式生成.Ad有一些选项可以监视正在编写的sstables,并逐步备份这些文件。
查看 tablesnap ,&amp; cassandra snapshotter 。