【问题标题】:Migrate from Open Source Cassandra to Datastax Enterprise从开源 Cassandra 迁移到 Datastax Enterprise
【发布时间】:2016-11-21 23:40:34
【问题描述】:

我们当前的生产集群在Cassandra 2.2.4上运行

[cqlsh 5.0.1 | Cassandra 2.2.4 | CQL spec 3.3.1 | Native protocol v4]

我们希望将此设置迁移到具有DSE 5.0 的新集群,而不会影响我们当前的生产。

在零停机时间/最短停机时间的情况下执行此操作的步骤是什么?

  1. 我们希望将其作为一个单独的集群。
  2. 我们可以使用 sstableloader 从源集群到目标集群并在目标执行 sstableupgrade 吗?
  3. 在运行 sstabloader 时,我们是否应该停止现有集群上的压缩?
  4. 由于生产流量,如何转移新创建的 sstable?
  5. 我们是否应该让应用程序写入两个集群,但只从旧集群读取,直到新集群与旧集群同步?
  6. 我们应该从旧数据目录还是从快照目录运行 sstableloader。这两种方法有什么区别?

【问题讨论】:

    标签: cassandra datastax-enterprise datastax-startup


    【解决方案1】:
    1. 使用 DSE 5.0 设置新集群
    2. 开始写入您的两个集群
    3. SCP 将您的 SSTables 从旧集群转移到新集群
    4. 在刚刚复制到新集群的 SSTable 上使用新集群中的 sstableloader。

    我们应该从旧数据目录还是从快照目录运行 sstableloader。这两种方法有什么区别?

    视情况而定,快照就是您的集群在某个时间点所处的特定状态的快照。如果您想要最新的数据,请使用您数据目录中当前的 SSTables。

    【讨论】:

    • 1.当前集群中的 Cassandra 版本是 2.2.4,而在 DSE 5.0 中,新集群将具有 Cassandra 3.0。不需要升级稳定吗?
    • 2.如果新旧集群没有区别。节点/复制因子,我如何从旧到新的 scp。选择从哪些节点开始 scp?
    • 1.不,sstableloader 在数据中流式传输,因此数据被“重放” 2。与 1 相同,数据被重新流式传输,其令牌范围由新集群确定。
    • 如果我将 sstables scp 到新集群并从那里调用 sstableloader,它将根据新集群的配置创建另一组 sstables。然后我应该删除我最初发现的 sstables 吗?我应该从旧集群中的多少个节点开始 scp,它是旧集群的 number_of_nodes/replication_factor 吗?
    • 是的,本质上您只是将旧 SSTables 中的数据流式传输回 Cassandra。您可能希望对所有 SSTables 进行 SCP,因为实际上没有办法知道哪些数据在哪些 SSTables 中。
    猜你喜欢
    • 2018-08-04
    • 2016-01-19
    • 2017-04-09
    • 2021-01-10
    • 2023-03-10
    • 1970-01-01
    • 2015-08-25
    • 1970-01-01
    • 2015-01-09
    相关资源
    最近更新 更多