我在Ubuntu 14.04上使用卡桑德拉。从文档中,我可以看到运行命令:
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命令的输出中破译此操作?
发布于 2016-02-14 18:40:17
从文件上看。
拍快照
每个节点都使用nodetool快照命令获取快照。要获取全局快照,请使用并行ssh实用程序(如pssh )运行nodetool快照命令。
快照首先刷新所有内存中的写入磁盘,然后为每个键空间创建SSTable文件的硬链接。您必须在节点上有足够的空闲磁盘空间,以容纳数据文件的快照。一个快照只需要很少的磁盘空间。但是,快照会导致磁盘使用随着时间的推移而增长得更快,因为快照可以防止旧的过时的数据文件被删除。快照完成后,如果需要,可以将备份文件移动到另一个位置,也可以将它们放在适当的位置。
运行nodetool快照命令,指定主机名、JMX端口和键空间。
$ nodetool -h localhost -p 7199 snapshot mykeyspace快照在data_directory_location/keyspace_name/table_name/snapshots/snapshot_name目录中创建。每个快照目录都包含许多.db文件,这些文件包含快照时的数据。
Cassandra在获取快照之前刷新节点,获取快照,并将数据存储在数据目录中每个键空间的快照目录中。如果不使用-t选项指定快照目录的名称,则Cassandra将使用快照的时间戳(例如1391460334889 )命名该目录。升级Cassandra之前,请遵循快照的步骤。升级时,备份所有键空间。有关快照的更多信息,请参见Apache文档。
如果没有指定快照名称,则Cassandra使用快照的timestamp 命名快照目录。如果密钥空间不包含数据,则不会创建空目录。
示例:单表快照
只拍摄音乐键空间中的播放列表表的快照。例如,在Linux上的Cassandra bin目录中:
$ ./nodetool snapshot -cf playlists music
Requested creating snapshot(s) for [music] with snapshot name [1391461910600]
Snapshot directory: 1391461910600卡珊德拉创建名为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,后面跟着快照名称。-cf选项时所需的一个键空间名称,或者一个或多个可选的键空间名称,由空格分隔。更新::
/var/lib/cassandra/data/music/playlists-bf8118508cfd11e3972273ded3cb6170/snapshots在playlists-bf8118508cfd11e3972273ded3cb6170,-bf8118508cfd11e3972273ded3cb6170是UUID
因此,它在way.Ad中生成了一些选项,可以监视正在编写的存储库,并逐步备份这些文件。
https://stackoverflow.com/questions/35392285
复制相似问题