我使用dsbulk对cassandra集群进行基于文本的备份和恢复。我已经创建了一个python脚本,它使用dsbulk加载/卸载来备份/恢复cassandra集群中的所有表,但由于为每个表创建了新会话(大约7s),即使是较少的数据也要花费很长时间,在我的例子中,我有70个表,因此由于会话创建,所以添加了70*7s。有没有一种方法可以通过使用dsbulk的单个会话备份集群中所有表的数据?在文档中,我发现dsbulk一次只适用于单个表的加载/卸载。有没有其他方法来解决这个问题呢?如果有任何建议,请提出来!
谢谢..
发布于 2021-11-15 02:56:22
不,没有一种方法可以在一次DSBulk执行中加载/卸载多个表,因为这样做没有意义。
在任何情况下,不建议使用将数据卸载到CSV作为备份集群的方法,因为不能保证数据在某个时间点上是一致的。
备份Cassandra集群的正确方法是使用nodetool snapshot命令。详情请参见Apache Cassandra Backups。
如果你感兴趣,有一个开源工具可以让你自动备份-- https://github.com/thelastpickle/cassandra-medusa。干杯!
https://stackoverflow.com/questions/69955211
复制相似问题