【发布时间】:2014-09-04 15:48:11
【问题描述】:
我正在尝试从 3 节点 1.1.9 集群升级到 6 节点 1.2.18 集群。可以使用 sstableloader 从现有集群流式传输到新集群吗?如果是这样,建议的方法是什么?尝试此操作时,我不断收到以下信息:
分区器 org.apache.cassandra.dht.RandomPartitioner 与系统分区器 org.apache.cassandra.dht.Murmur3Partitioner 不匹配。请注意,从 Cassandra 1.2 开始的默认分区程序是 Murmur3Partitioner,因此如果升级,您需要对其进行编辑以匹配您的旧分区程序。
虽然 1.1.9 似乎没有 Murmur3Partitioner,所以我将新集群上的分区器更改为 RandomPartitioner。即使这样,我也会收到以下错误:
CLASSPATH=/etc/cassandra/conf/cassandra.yaml:/root/lib_cass15/apache-cassandra-1.2.18.jar:/root/lib_cass15/guava-13.0.1.jar:/etc/cassandra/conf :/usr/share/java/jna.jar:/usr/share/cassandra/lib/antlr-3.2.jar:/usr/share/cassandra/lib/apache-cassandra-1.1.9.jar:/usr/share /cassandra/lib/apache-cassandra-clientutil-1.1.9.jar:/usr/share/cassandra/lib/apache-cassandra-thrift-1.1.9.jar:/usr/share/cassandra/lib/avro-1.4 .0-fixes.jar:/usr/share/cassandra/lib/avro-1.4.0-sources-fixes.jar:/usr/share/cassandra/lib/commons-cli-1.1.jar:/usr/share/ cassandra/lib/commons-codec-1.2.jar:/usr/share/cassandra/lib/commons-lang-2.4.jar:/usr/share/cassandra/lib/compress-lzf-0.8.4.jar:/usr /share/cassandra/lib/concurrentlinkedhashmap-lru-1.3.jar:/usr/share/cassandra/lib/guava-r08.jar:/usr/share/cassandra/lib/high-scale-lib-1.1.2.jar :/usr/share/cassandra/lib/jackson-core-asl-1.9.2.jar:/usr/share/cassandra/lib/jackson-mapper-asl-1.9.2.jar:/usr/share/cassandra/ lib/jamm-0.2.5.jar:/usr/share/cassandra/lib/jline-0.9 .94.jar:/usr/share/cassandra/lib/json-simple-1.1.jar:/usr/share/cassandra/lib/libthrift-0.7.0.jar:/usr/share/cassandra/lib/log4j- 1.2.16.jar:/usr/share/cassandra/lib/metrics-core-2.0.3.jar:/usr/share/cassandra/lib/servlet-api-2.5-20081211.jar:/usr/share/cassandra /lib/slf4j-api-1.6.1.jar:/usr/share/cassandra/lib/slf4j-log4j12-1.6.1.jar:/usr/share/cassandra/lib/snakeyaml-1.6.jar:/usr/共享/cassandra/lib/snappy-java-1.0.4.1.jar:/usr/share/cassandra/lib/snaptree-0.1.jar:/usr/share/cassandra/lib/stress.jar 无法检索端点范围: java.lang.RuntimeException:无法检索端点范围: 在 org.apache.cassandra.tools.BulkLoader$ExternalClient.init(BulkLoader.java:233) 在 org.apache.cassandra.io.sstable.SSTableLoader.stream(SSTableLoader.java:119) 在 org.apache.cassandra.tools.BulkLoader.main(BulkLoader.java:67) 引起:org.apache.thrift.transport.TTransportException 在 org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:132) 在 org.apache.thrift.transport.TTransport.readAll(TTransport.java:84) 在 org.apache.thrift.transport.TFramedTransport.readFrame(TFramedTransport.java:129) 在 org.apache.thrift.transport.TFramedTransport.read(TFramedTransport.java:101) 在 org.apache.thrift.transport.TTransport.readAll(TTransport.java:84) 在 org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:378) 在 org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:297) 在 org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:204) 在 org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:69) 在 org.apache.cassandra.thrift.Cassandra$Client.recv_describe_ring(Cassandra.java:1155) 在 org.apache.cassandra.thrift.Cassandra$Client.describe_ring(Cassandra.java:1142) 在 org.apache.cassandra.tools.BulkLoader$ExternalClient.init(BulkLoader.java:212) ... 2 更多
有没有办法让 sstableloader 工作?如果没有,有人可以指出我解释迁移数据/密钥空间的其他方法的文档吗?我找不到任何详细的文档。
谢谢
【问题讨论】:
标签: cassandra upgrade datastax bulkloader