我使用dsbulk对cassandra集群进行基于文本的备份和恢复。我已经创建了一个python脚本,该脚本使用dsbulk加载/卸载来备份/恢复cassandra集群中的所有表,但由于为每个表创建了新的会话(大约7秒(,即使数据较少,也需要很长时间。在我的情况下,我有70个表,因此由于会话创建,添加了70*7秒。有没有一种方法可以使用dsbulk使用单个会话备份群集中所有表的数据?从文档中,我看到dsbulk一次只适用于单个表的加载/卸载。对此,有什么替代方案或其他方法吗?如果有,请提出建议。。!
谢谢。。
不,没有办法在一次DSBulk执行中加载/卸载多个表,因为这样做没有意义。
在任何情况下,都不建议使用将数据卸载到CSV来备份集群,因为无法保证数据在某个时间点是一致的。
备份Cassandra集群的正确方法是使用nodetool snapshot
命令。有关详细信息,请参阅Apache Cassandra备份。
如果你感兴趣,有一个开源工具可以让你自动化备份——https://github.com/thelastpickle/cassandra-medusa.干杯