【发布时间】:2015-02-02 09:56:53
【问题描述】:
我仍在尝试在 Cassandra 世界中找到自己的方式,并且我成功地将一些遗留的东西从 MySQL 导入到 Cassandra 中的“legacy_imports”键空间中。
问题是,我的工作版本在另一个键空间“stats”中,我想将“legacy_imports”保留在某个地方,并将其合并到“stats”中。 所以这里想要的操作只是复制一些表(包括 COUNTER 表)从一个键空间到另一个在同一个节点上。
我尝试COPY ... TO,但出现错误:
<ErrorMessage code=0000 [Server error] message="com.google.common.util.concurrent.UncheckedExecutionException: java.lang.RuntimeException: org.apache.cassandra.exceptions.ReadTimeoutException: Operation timed out - received only 1 responses.">
我也尝试过 sstableloader,但我很难使用它。我的数据在 2 个磁盘上拆分,路径如下所示:
/media/disk2/cassandra/data/legacy_imports/log_by_day-1e6b7de0a90111e49471715135b1c904/snapshots/1422680322490-log_by_day/legacy_imports-log_by_day-ka-1-Data.db
当我尝试 sstableloader 时,在 legacy_imports 目录中,我得到:
Could not retrieve endpoint ranges:
InvalidRequestException(why:No such keyspace: snapshots)
最后,如果我只在 legacy_imports 上这样做,我会得到:
Exception in thread "main" java.lang.NullPointerException
at org.apache.cassandra.io.sstable.SSTableLoader.<init>(SSTableLoader.java:71)
at org.apache.cassandra.tools.BulkLoader.main(BulkLoader.java:79)
【问题讨论】: