Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用nodetool备份cassandra密钥空间_Cassandra - Fatal编程技术网

使用nodetool备份cassandra密钥空间

使用nodetool备份cassandra密钥空间,cassandra,Cassandra,我正在Ubuntu 14.04上使用Cassandra。从文档中,我可以看到运行命令: nodetool snapshot <keyspace name> 根据文档,快照应显示在以下目录中: /var/lib/cassandra/data/my_keyspace/<table names>/snapshots/1455455429118 我不确定147c8cc0d31c11e5aacb3b02dd594b59所代表的是什么 我正在尝试自动化这个过程,如果我不知道这个

我正在Ubuntu 14.04上使用Cassandra。从文档中,我可以看到运行命令:

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