DSE:无法稳定地将数据从 4.8.9 加载到 5.0.2

DSE: Unable to sstablellaoding data from 4.8.9 to 5.0.2

我在 DSE 4.8.9 中有 5GB 的数据。我正在尝试将相同的数据加载到 DSE 5.0.2 中。我使用的命令如下:

root@dse:/mnt/cassandra/data$ sstableloader -d 10.0.2.91 /mnt/cassandra/data/my-keyspace/my-table-0b168ba1637111e6b40131c603254a9b/

这给了我以下异常:

DEBUG 15:27:12,850 Using framed transport.
DEBUG 15:27:12,850 Opening framed transport to: 10.0.2.91:9160
DEBUG 15:27:12,850 Using thriftFramedTransportSize size of 16777216
DEBUG 15:27:12,851 Framed transport opened successfully to: 10.0.2.91:9160
Could not retrieve endpoint ranges: 
InvalidRequestException(why:unconfigured table schema_columnfamilies)
    java.lang.RuntimeException: Could not retrieve endpoint ranges: at     org.apache.cassandra.tools.BulkLoader$ExternalClient.init(BulkLoader.java:342)
at org.apache.cassandra.io.sstable.SSTableLoader.stream(SSTableLoader.java:156)
at org.apache.cassandra.tools.BulkLoader.main(BulkLoader.java:109)
Caused by: InvalidRequestException(why:unconfigured table schema_columnfamilies)
 at org.apache.cassandra.thrift.Cassandra$execute_cql3_query_result$execute_cql3_query_resultStandardScheme.read(Cassandra.java:50297)
at org.apache.cassandra.thrift.Cassandra$execute_cql3_query_result$execute_cql3_query_resultStandardScheme.read(Cassandra.java:50274)
at org.apache.cassandra.thrift.Cassandra$execute_cql3_query_result.read(Cassandra.java:50189)
at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:86)
at org.apache.cassandra.thrift.Cassandra$Client.recv_execute_cql3_query(Cassandra.java:1734)
at org.apache.cassandra.thrift.Cassandra$Client.execute_cql3_query(Cassandra.java:1719)
at org.apache.cassandra.tools.BulkLoader$ExternalClient.init(BulkLoader.java:321)
... 2 more

想法?

对于节点少,数据不多的场景,可以按照以下步骤进行集群迁移(确保集群最多相隔1个主版本)

1) 在新集群中创建模式

2) 将两个节点的数据移动到每个新节点(进入新的 cfid 表)

3) nodetool刷新取数据

4) nodetool cleanup 清除多余数据

5) 如果旧集群来自以前的主要版本,运行 在新集群上稳定升级。