Cassandra密钥空间恢复

j8yoct9x  于 2021-06-15  发布在  Cassandra
关注(0)|答案(1)|浏览(429)

我使用这个链接cassandra-backup.sh备份了我在cassandra中的键空间
为了还原,我编写了一个脚本,它复制备份文件夹中的内容,备份文件夹中包含快照,并粘贴到/var/lib/cassandra/data/mykeypsace/下的相应目录中,但是当我看到mykeyspace的表内容时,什么也没有还原。例如,备份文件夹:path/mykeyspace/tableone/snapshot/all contents to var/lib/cassandra/data/mykeyspace/tableone/all contents
恢复过程:
删除键空间
还原mykeyspace(.cql文件)的架构
停止cassandra服务
运行我的恢复脚本(复制粘贴)
节点工具修复
启动cassandra服务
我错过什么了吗?
其他细节:cqlsh5.0.1 | cassandra 3.11.3 | ubuntu 16.04

kyxcudwk

kyxcudwk1#

我不想成为杀手锏,但备份过程并不像复制sstables那么简单。您需要跟踪实际生成特定sstable(或包含它的快照)的节点。
你需要:
备份
为群集中的每个节点创建快照
创建一个文件来存储属于哪个节点的令牌( nodetool ring 或者 nodetool info -T )
备份架构(您已经在这样做了)
恢复:
创建一个新群集,其节点数与要还原的群集的节点数相同
对于新集群中的每个节点,将cassandra.yaml中的初始\u令牌配置为备份阶段步骤2中获得的令牌
例如: initial_token: 1, 2 确保cassandra的数据目录为空 rm /var/lib/cassandra/data (在每个节点上)
启动群集中的所有节点
创建备份的架构。
将sstables从最新快照复制到cassandra的数据目录(在每个节点上)
nodetool refresh 使cassandra加载新复制的数据(在每个节点上)
关于令牌的快速示例(这可能会让人困惑):假设集群有3个节点,每个节点有2个虚拟令牌,所以范围是1-6。某些令牌分配给某些节点,最简单的方法是使用:

$ nodetool ring

Datacenter: datacenter1
==========
Address        Rack        Status State   Load            Owns                Token                                       
                                                                              6                         
127.0.0.1      rack1       Up     Normal  156.55 MiB      33.33%              1                       
127.0.0.1      rack1       Up     Normal  156.55 MiB      33.33%              2                       
127.0.0.2      rack1       Up     Normal  156.54 MiB      33.33%              3
127.0.0.2      rack1       Up     Normal  156.54 MiB      33.33%              4
127.0.0.3      rack1       Up     Normal  156.55 MiB      33.33%              5
127.0.0.3      rack1       Up     Normal  156.55 MiB      33.33%              6

从快照恢复时,我必须为每个节点设置以下初始\u令牌:


# node 127.0.0.1's cassandra.yaml

initial_token: 1,2 

# node 127.0.0.2's cassandra.yaml

initial_token: 3,4 

# node 127.0.0.3's cassandra.yaml

initial_token: 5,6

这通常是自动的,因为虚拟令牌的默认设置是256。

相关问题