使用 Nodetool 实用程序
Nodetool 允许我们在节点级别执行 Cassandra 备份。对于使用并行 SSH 工具(例如 pssh)的 Nodetool,我们可以对集群进行快照,从而提供最终一致的备份。虽然没有单个节点可以保证在快照时与其副本节点保持一致,但 Cassandra 内置实用程序可以帮助实现集群范围的一致性。
当我们使用 nodetool 运行快照时,它首先将所有内存写入刷新到磁盘,并为每个键空间创建 SST 表文件的硬链接。我们需要保留足够的磁盘空间来允许快照。由于快照会阻止删除过时的文件,因此它们堆积起来会很快导致磁盘空间问题。应该有一个移动快照的流程。
运行 nodetool snapping 命令,指定主机名、JMX 端口和键空间。
例如:
$ nodetool -h localhost -p 7199 快照键空间名称
(拍摄快照时存在的所有 sstables 的硬链接)。
Nodetool 的优点
我们不需要依赖 OpsCenter 服务来启动和运行。而且 OpsCenter 企业版只具有备份/恢复服务功能。
Nodetool 的缺点
Nodetool 需要并行 ssh 实用程序同时在每个节点上拍摄快 波斯尼亚和黑塞哥维那电报数据 照以实现一致性。在恢复备份时,需要手动或脚本将备份文件从备份目录复制到数据目录。
注意:它不会备份模式的 DDL。
启用增量备份
当启用增量备份时(默认情况下禁用),Cassandra 会将每个 memtable-flushed SSTable 硬链接到键空间数据目录下的备份目录。
某一时间点的快照加上自该时间以来的所有增量备份和提交日志形成完整备份。
它存储在下述位置的数据目录下。
data_directory_location/keyspace_name/table_nameUUID/backups
使用 OpsCenter 进行备份
Cassandra 企业版提供使用 Opscenter 进行备份的