我正在使用这个工具获取一个键空间:https://github.com/AppliedInfrastructure/cassandra-snapshot-tools的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/putSnapshot.tmp7564/backup/user-fade6090bee711e7bf39db885b6c90ca中列出文件 由: java.lang.RuntimeException:反序列化期间未知列设备引起的
因此,我的另一个猜测是,数据从所有3个节点恢复到了1,但是在密钥空间中恢复其中一个表存在问题。是什么导致了这样的错误?
发布于 2017-11-15 12:16:53
是的,它很可能只从一个节点恢复数据。使用sstableloader代替,因为它有能力:
使用不同数量的节点或复制策略将现有的SSTables加载到另一个集群中。
https://docs.datastax.com/en/cassandra/3.0/cassandra/tools/toolsBulkloader.html
https://stackoverflow.com/questions/47306860
复制相似问题