0

我使用 dsbulk 对 cassandra 集群进行基于文本的备份和恢复。我创建了一个 python 脚本,它使用 dsbulk 加载/卸载备份/恢复 cassandra 集群中的所有表,但由于为每个表创建了新会话(大约 7 秒),即使数据较少也需要很长时间,在我的情况下,我有 70表,因此由于会话创建而添加了 70*7s。有没有办法使用 dsbulk 使用单个会话从集群中的所有表中备份数据?从文档中,我看到 dsbulk 一次仅适用于单个表加载/卸载。有什么替代方法或其他方法吗?如果有请建议..!

谢谢..

4

1 回答 1

0

不,没有办法在单个 DSBulk 执行中加载/卸载多个表,因为这样做没有意义。

在任何情况下,不建议使用将数据卸载到 CSV 作为备份集群的方法,因为无法保证数据在某个时间点保持一致。

备份 Cassandra 集群的正确方法是使用nodetool snapshot命令。有关详细信息,请参阅Apache Cassandra 备份

如果你有兴趣,有一个开源工具可以让你自动备份——https: //github.com/thelastpickle/cassandra-medusa。干杯!

于 2021-11-15T02:56:22.203 回答