尝试从DSE Cassandra(6.0.5)迁移到Apache Cassandra(3.11.3)时出现架构版本不匹配错误
我们正在尝试将数据从DSE Cassandra节点迁移/复制到apache Cassandra节点 已经在本地机器上完成了POC,并且遇到了架构版本问题。 以下是POC和发生问题的详细信息 DSE Cassandra节点详细信息: dse\U版本:6.0.5尝试从DSE Cassandra(6.0.5)迁移到Apache Cassandra(3.11.3)时出现架构版本不匹配错误,cassandra,datastax-enterprise,cassandra-3.0,Cassandra,Datastax Enterprise,Cassandra 3.0,我们正在尝试将数据从DSE Cassandra节点迁移/复制到apache Cassandra节点 已经在本地机器上完成了POC,并且遇到了架构版本问题。 以下是POC和发生问题的详细信息 DSE Cassandra节点详细信息: dse\U版本:6.0.5 发布版本:4.0.0.605 sstable格式: aa-1-bti-CompressionInfo.db aa-1-bti-Digest.crc32 aa-1-bti-Partitions.db aa-1-bti-Statis
发布版本:4.0.0.605
sstable格式:
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
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
Apache Cassandra节点详细信息:
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
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
发布版本:3.11.3sstable格式:
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
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个节点
两个dse节点(假设DSE1和DSE2)位于一个数据中心(即dc1)。2个apache节点(假设APC1和APC2)位于其他数据中心(即dc2) 注意:我使用了网络拓扑策略密钥空间的拓扑策略和闲聊属性文件告密者作为端点告密者。增加 $JVM\u OPTS-Dcassandra.allow\u unsafe\u replace=true也在cassandra env.sh文件中 当我使用以下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]
已尝试使用以下链接中给出的解决方案解决相同问题:
但问题依然存在
此外,我们是否可以按照以下链接中的建议,自然地将数据从DSE Cassandra节点迁移到apache Cassandra节点:
请任何人提出建议,如何克服这个问题。我们是否需要实施任何其他升级或兼容性修复来解决此问题