【问题标题】:Cassandra Copy KeySpace - How To?Cassandra 复制 KeySpace - 如何?
【发布时间】:2018-09-22 17:15:49
【问题描述】:

我们正在从旧版数据库迁移到 Cassandra。

在旧数据库中,每当新项目或分析开始时,我们都会克隆现有数据库并为项目/分析创建一个新数据库。

我们也想对 Cassandra 做同样的事情。 Cassandra 文章建议复制键空间作为最佳解决方案。

复制键空间的最佳方法是什么?

我们也更喜欢复制键空间是为了避免从旧键空间“卸载”和“加载”到新键空间,因为我们正在对这个过程进行 wiki-ing,我们将在附近的键空间中命中数百万条记录未来。

目前我们做的步骤如下:

  1. 创建密钥空间的快照
  2. 创建新的 KeySpace (${NEW_KEYSPACE}) 和表
  3. 将 SNAPSHOT/*.db 文件复制到 $CASSANDRA_HOME/data/data/${NEW_KEYSPACE} 中对应的表文件夹中
  4. 修复 KeySpace
  5. 刷新 KeySpace 和表格

让我们知道,这是正确的方法还是我们有更好的方法。

【问题讨论】:

  • 我不清楚你是否想要新键空间中的数据。如果不需要数据,则可以运行 describe 命令获取键空间结构
  • 我们需要复制数据。同意,如果不需要数据,它只是再次创建表。
  • 那么您想在不关闭节点的情况下执行此操作吗?您的步骤对我来说看起来不错,但我会在修复之前刷新密钥空间。

标签: database cassandra


【解决方案1】:

正如 Simon Fontana Oscarsson 所说,流程步骤中的唯一变化是“刷新密钥空间”然后“修复”。

所以我们所做的总体步骤是:

  1. 创建密钥空间的快照
  2. 创建新的 KeySpace (${NEW_KEYSPACE}) 和表
  3. 将 SNAPSHOT/*.db 文件复制到 $CASSANDRA_HOME/data/data/${NEW_KEYSPACE} 中对应的表文件夹中
  4. 刷新 KeySpace 和表格
  5. 修复 KeySpace

感谢大家的反馈。

【讨论】:

    猜你喜欢
    • 2018-05-14
    • 1970-01-01
    • 1970-01-01
    • 2021-01-16
    • 2018-12-12
    • 1970-01-01
    • 2013-06-01
    • 2021-08-31
    • 1970-01-01
    相关资源
    最近更新 更多