我知道以前有人问过类似的问题,但我认为我的用例非常具体,我找不到任何答案。
在生产中,我们在 6 节点集群中使用 Cassandra 1.2 和 ByteOrderPartitioner,Priam 作为种子管理工具。我们最近升级了所有依赖项,并尝试使用 Murmur Partitioner 迁移到 Cassandra 3.0.2,为了向后兼容,我们需要在新集群上启用 thrift。此外,我们还想从 Priam 迁移。我能够设置新的集群,但在数据迁移过程中遇到了很多问题。我尝试了 3 件事:
1)使用复制命令:行数很大时失败
2) SSTable2Json : Cassandra 3.0.2 已停止支持 SSTable2Json
3)SSTableloader:我认为失败是因为源和目标的cassandra版本不同
java.lang.RuntimeException:无法检索端点范围:在 org.apache.cassandra.io.sstable.SSTableLoader.stream(SSTableLoader. java:119) at org.apache.cassandra.tools.BulkLoader.main(BulkLoader.java:67) 原因:org.apache.cassandra.thrift.Cassandra$execute_cql3_query_result.read(Cassandra .java:37849) 在 org.apache.cassandra.thrift.Cassandra$Client.recv_execute_cql3_query(Cassandra.java:1562) 在 org.apache.cassandra 的 org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:78)。 thrift.Cassandra$Client.execute_cql3_query(Cassandra.java:1547) at org.apache.cassandra.tools.BulkLoader$ExternalClient.init(BulkLoader.java:225) ... 还有 2 个
现在我有点卡住了,对此的任何帮助将不胜感激。如果您需要更多详细信息,请告诉我。