尝试从DSE Cassandra(6.0.5)迁移到Apache Cassandra(3.11.3)

时间:2020-05-11 13:06:52

标签: cassandra datastax-enterprise cassandra-3.0

我们正在尝试将数据从DSE Cassandra节点迁移/复制到apache Cassandra节点。

已在本地计算机上完成了该操作的POC,并遇到了模式版本问题。 以下是POC的详细信息和出现的问题。

DSE Cassandra节点详细信息:

dse_version: 6.0.5
release_version: 4.0.0.605
稳定格式:

aa-1-bti-CompressionInfo.db  
aa-1-bti-Digest.crc32  
aa-1-bti-Partitions.db  
aa-1-bti-Statistics.db  
aa-1-bti-Data.db  
aa-1-bti-Filter.db  
aa-1-bti-Rows.db  
aa-1-bti-TOC.txt

Apache Cassandra节点详细信息:

发行版本: 3.11.3
稳定格式:

mc-1-big-CompressionInfo.db  
mc-1-big-Digest.crc32  
mc-1-big-Statistics.db  
mc-1-big-Data.db  
mc-1-big-Filter.db  
mc-1-big-TOC.txt  
mc-1-big-Summary.db

有1个群集(“我的群集”),我总共有4个节点。

2个dse节点(例如DSE1和DSE2)位于一个数据中心(即dc1)中。
在另一个数据中心(即dc2)中有2个apache节点(让我们说APC1和APC2)。

注意:我已将 NetworkTopologyStrategy 拓扑策略用于键空间,并将 GossipingPropertyFileSnitch 用作Endpoint_snitch。已添加 cassandra-env.sh 文件中的 $ JVM_OPTS -Dcassandra.allow_unsafe_replace = true

当我使用以下CQL查询在 DSE1节点上创建键空间时:

CREATE KEYSPACE abc
    WITH REPLICATION = {
    'class' : 'NetworkTopologyStrategy',
    'dc1' : 2,
    'dc2' : 2
}
AND DURABLE_WRITES = true;

DSE2节点上创建键空间,但是 cqlsh 引发以下错误:
警告:检测到架构版本不匹配;在system.local和system.peers中检查节点的架构版本

此外, 2个Apache节点(APC1 / APC2)之一中引发以下错误: org.apache.cassandra.db.UnknownColumnFamilyException:找不到cfId 02559ab1-91ee-11ea-8450-2df21166f6a4的表。如果刚刚创建了表,则可能是由于未完全传播架构。请等待有关表创建的模式协议

在所有4个节点上检查了架构版本,得到以下结果:

Cluster Information:
    Name: My Cluster
    Snitch: org.apache.cassandra.locator.GossipingPropertyFileSnitch
    DynamicEndPointSnitch: enabled
    Partitioner: org.apache.cassandra.dht.Murmur3Partitioner
    Schema versions:
       84c22c85-8165-398f-ab9a-e25a6169b7d3: [127.0.0.4, 127.0.0.6]

       4c451173-5a05-3691-9a14-520419f849da: [127.0.0.5, 127.0.0.7]

已尝试使用以下链接中给出的解决方案来解决相同问题: https://myadventuresincoding.wordpress.com/2019/04/03/cassandra-fix-schema-disagreement/

但是问题仍然存在。

此外,是否可以按照以下链接中的建议自然地将数据从DSE Cassandra节点迁移到apache Cassandra节点: Migrate Datastax Enterprise Cassandra to Apache Cassandra

任何人都可以建议如何解决该问题。我们是否需要实施其他任何升级或兼容性修复程序来解决此问题。

0 个答案:

没有答案
相关问题