迁移Datastax Enterprise Cassandra到Apache Cassandra

4
2个回答

3
  1. 确定 DSE 使用的 Apache Cassandra 版本。根据 DSE 文档,DSE 4.8.14 使用的是 Apache Cassandra 2.1,DSE 5.1 则使用的是 Apache Cassandra 3.11。

  2. 最简单的方法是构建另一个 DC(每个 Cassandra 的逻辑数据中心),并将其添加到现有集群中。

  3. 像往常一样,在新的 DC 节点上运行 "Nodetool Rebuild {from-old-DC}" 命令,让 Cassandra 自然地将数据流式传输到新的 Apache Cassandra 节点。

  4. 一旦数据流传输完成,根据应用程序使用的 LoadBalancingPolicy,将其 local_dc 切换为 DC2(新的 DC)。一旦新的 DC 开始接收流量,逐个关闭旧的 DC 中的节点,例如 DC1。


感谢 @disingi。同一版本的DSE和Apache Cassandra可以在同一个环中吗? - cad
2
是的,它们可以。 - dilsingi
@PedroGordo,你提到的是Datastax支持的键空间,这些键空间甚至在开源版本中都不可用。因此,在这里它们并不适用。 - dilsingi
@dilsingi 没错。由于Apache Cassandra不熟悉这些keyspace,所以在将操作系统版本添加到集群之前,您需要将它们转换为Cassandra可以处理的格式。 - Pedro Gordo
1
@PedroGordo 我们没有执行这个操作,我相信我们所做的是将 sstable 加载到一个新的集群中并重新指向。这是一个阶段性的过程,因此我们可以进行一些计划好的停机时间。 - Constance Eustace
显示剩余5条评论

0
  1. 修改 keyspace dse_system 和 dse_security,不要在所有地方使用
  2. 在非种子节点上,清理 cassandra 数据目录
  3. 在 cassandra-env.sh 中开启 replace
  4. 启动实例
  5. 使用命令“nodetool netstats | grep Receiving”监控流处理过程
  6. 在最终迁移之前更改种子节点定义并进行滚动重启。

你的回答可以通过提供更多支持信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人可以确认你的答案是正确的。您可以在帮助中心中找到有关如何编写良好答案的更多信息。 - Community

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接