能否在较少的节点上以较低的复制因子还原Cassandra快照?

能否在较少的节点上以较低的复制因子还原Cassandra快照?,cassandra,database-backups,Cassandra,Database Backups,我正在使用此工具拍摄密钥空间的Cassandra快照: 此密钥空间的复制系数为3,托管在3个节点上。 有没有办法在复制因子为1的单节点Cassandra实例上本地完全恢复它 我试着用这种方式恢复: sudo bash ./putSnapshot -f backup-20171114152959.tar.gz -n 192.168.0.172 -k backup_restored -d datacenter1 -r 1 -r 1选项应覆盖复制因子 虽然它确实有效,但似乎缺少一些信息 我的第一个

我正在使用此工具拍摄密钥空间的Cassandra快照:

此密钥空间的复制系数为3,托管在3个节点上。 有没有办法在复制因子为1的单节点Cassandra实例上本地完全恢复它

我试着用这种方式恢复:

sudo bash ./putSnapshot -f backup-20171114152959.tar.gz -n 192.168.0.172 -k backup_restored -d datacenter1 -r 1
-r 1选项应覆盖复制因子

虽然它确实有效,但似乎缺少一些信息

我的第一个猜测是,它只恢复了3的第一个节点的数据

据我所见,只有一个表中的数据丢失,我在恢复备份时发现了此错误:

未能在中列出文件 /home/ubuntu/putsnashot.tmp7564/backup/user-fade6090bee711e7bf39db885b6c90ca

原因:java.lang.RuntimeException:运行期间未知列设备 反序列化


所以我的另一个猜测是,数据从所有3个节点恢复到1,但是在键空间中恢复其中一个表有问题。什么会导致这样的错误?

是的,它很可能只从一个节点还原了数据。请改用sstableloader,因为它能够:

将现有SSTables加载到另一个具有不同节点数或复制策略的集群中