我可以将Apache cassandra节点添加到DataStax (DSE) cassandra集群中吗?

问题描述 投票:1回答:1

我正在从Datastax (DSE) Cassandra迁移到Apache Cassandra 3.11。

我有一个由7个节点组成的Datastax(DSE)Cassandra集群。

有没有办法让我创建新的apache Cassandra集群&把它连接到DSE Cassandra,这样我的写入就可以同时进入DSE &Apache cassandra。

这样,一旦我的数据开始在两个Cassandra中写入,我就可以把我的Read API从DSE逐渐迁移到Apache。

cassandra datastax-enterprise cassandra-3.0
1个回答
1
投票

是的,我以前做过这个。

首先,找到 确切 您的集群正在运行的Cassandra版本(不是DSE版本)的版本号。

SELECT release_version FROM system.local;

 release_version
-----------------
          3.11.4

您也可以在连接到以下文件时看到这个版本号 cqlsh. DSE版本的Cassandra会有一个(长)的构建号。 但我们的想法是,新节点上的Apache Cassandra版本应该尽可能地与DSE版本的Cassandra相匹配。

接下来,按以下方式构建你的Apache Cassandra "替换 "节点。新的逻辑数据中心. 确保他们使用不同的 dc_name 中的(比现有节点)。cassandra-rackdc.properties 文件。 第一个节点(或两个)应该使用现有集群中的节点作为种子节点。 随后的节点可以使用第一个节点作为种子节点。 另外, cluster_name 需要匹配。

现在检查键空间定义的 system_auth, system_traces, system_distributed以及应用程序需要的任何键空间。 确保它们使用的是 NetworkTopologyStrategy. 如果没有,请确保它是,并为现有的 DC 配置复制因子 (RF)(DC 名称必须符合 dc_name 的现有DSE节点)。) 然后您可以将复制扩展到新的数据中心。

如果当前 dc_nameDSE_DC 和新的 dc_nameAC_DC,然后。

ALTER KEYSPACE yourkeyspace WITH replication =
   {'class': 'NetworkTopologyStrategy',
    'DSE_DC': '3', 'AC_DC': '3'};

一旦改变完成,运行一个nodetool的重建 每个新的Apache Cassandra节点.

nodetool rebuild -- DSE_DC

这将移动数据 DSE_DC 到当前节点。 然后,您应该能够通过指定新的数据中心名称来切换您的API。

编辑 20200506

检查你的数据目录。 最重要的是SSTable格式需要匹配才能工作。

3.11.4+版本

    43 Feb 20 08:55 md-1-big-CompressionInfo.db
    83 Feb 20 08:55 md-1-big-Data.db
    10 Feb 20 08:55 md-1-big-Digest.crc32
    16 Feb 20 08:55 md-1-big-Filter.db
    17 Feb 20 08:55 md-1-big-Index.db
  4769 Feb 20 08:55 md-1-big-Statistics.db
    57 Feb 20 08:55 md-1-big-Summary.db
    92 Feb 20 08:55 md-1-big-TOC.txt

4.0-alpha4版本。

    47 May  6 10:13 na-1-big-CompressionInfo.db
   107 May  6 10:13 na-1-big-Data.db
    10 May  6 10:13 na-1-big-Digest.crc32
    16 May  6 10:13 na-1-big-Filter.db
    32 May  6 10:13 na-1-big-Index.db
  4687 May  6 10:13 na-1-big-Statistics.db
    66 May  6 10:13 na-1-big-Summary.db
    92 May  6 10:13 na-1-big-TOC.txt

你也可以在DataStax的系统中进行验证 产品兼容性指南.

基本上,如果你的SSTable文件前缀为m[a,b,c,d],那么3.11.6应该可以工作。

© www.soinside.com 2019 - 2024. All rights reserved.