gpt4 book ai didi

cassandra - 使用nodetool备份cassandra key 空间

转载 作者:行者123 更新时间:2023-12-02 23:46:03 26 4
gpt4 key购买 nike

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

nodetool snapshot <keyspace name> 

创建我的 key 空间的快照。

命令的输出是:

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 命令的输出中破译此功能?

最佳答案

来自文档。

拍摄快照

使用nodetool snapshot 命令为每个节点拍摄快照。要拍摄全局快照,请使用并行 ssh 实用程序(例如 pssh)运行 nodetool snapshot 命令。

A snapshot first flushes all in-memory writes to disk, then makes a hard link of the SSTable files for each keyspace. You must have enough free disk space on the node to accommodate making snapshots of your data files. A single snapshot requires little disk space. However, snapshots can cause your disk usage to grow more quickly over time because a snapshot prevents old obsolete data files from being deleted. After the snapshot is complete, you can move the backup files to another location if needed, or you can leave them in place.

运行 nodetool snapshot 命令,指定主机名、JMX 端口和 key 空间。

$ nodetool -h localhost -p 7199 snapshot mykeyspace

快照在 data_directory_location/keyspace_name/table_name/snapshots/snapshot_name 目录中创建。每个快照目录都包含许多 .db 文件,其中包含快照时的数据。

Cassandra flushes the node before taking a snapshot, takes the snapshot, and stores the data in the snapshots directory of each keyspace in the data directory. If you do not specify the name of a snapshot directory using the -t option, Cassandra names the directory using the timestamp of the snapshot, for example 1391460334889. Follow the procedure for taking a snapshot before upgrading Cassandra. When upgrading, backup all keyspaces. For more information about snapshots, see Apache documentation .

如果您未指定快照名称,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> ... )
)
  • 选项有:

  • ( -h | --host ) |

  • ( -p | --端口 )
  • ( -pw | --password )
  • ( -u | --用户名 )

  • -cf--column-family,后跟要备份的表的名称。

  • -t--tag,后跟快照名称。

  • ——分隔选项和可能被误认为选项的参数。

  • keyspace 是使用 -cf 时所需的一个键空间名称选项,或一个或多个可选键空间名称,以空格分隔。

更新::

/var/lib/cassandra/data/music/playlists-bf8118508cfd11e3972273ded3cb6170/snapshots

playlists-bf8118508cfd11e3972273ded3cb6170 中,-bf8118508cfd11e3972273ded3cb6170UUID

<小时/>

所以它是以这种方式生成的。有一些选项可以监视正在写入的 sstables,并增量备份这些文件。

查看 tablesnap , & cassandra snapshotter .

关于cassandra - 使用nodetool备份cassandra key 空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35392285/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com