如何从不在Cassandra Cluster环中的节点使用sstableloader

时间:2013-10-24 15:24:14

标签: cassandra

我们在linux上的Production Cassandra Cluster上使用apache-cassandra 1.1.9版本。我想使用sstableloader上传一些数据。 我能够为一个小数据生成sstables,然后尝试使用另一台机器(在同一网络但不在cassandra集群环中)的sstableloader将这些sstables上传到Cassandra集群但是得到以下错误

“无法检索端点范围:”

我不明白为什么会出现这个错误。 我正在运行sstableloader的这台机器安装了相同的cassandra。我将生产cassandra中的cassandra.yaml复制到我的主机的apache-cassandra / conf文件夹中。

我的sstables位于以下目录结构中: - / path / to / keyspace dir / Keyspace / * .db

我正在运行的SStable命令在

之下

./ sstableloader -d -i,/ home / Data / Keyspace / 无法检索端点范围:

请告知,如果我在这里做错了吗?

2 个答案:

答案 0 :(得分:3)

找到解决方案。 需要从包含Keyspace子目录的目录执行sstableloader命令。 例如 if / home / Data是目录结构,其下有子目录keyspace / ColumnFamily / 然后从/ home / Data /目录执行如下命令。

〜/ apache-cassandra / bin / sstableloader -d / keyspace / ColumnFamily

答案 1 :(得分:0)

这有点旧,但我遇到了"无法检索端点范围"最近因不同的根本原因而出错。

在我们的例子中,数据是从生产系统导出的,并加载到新的开发实例中。开发实例设置错误,因此使用dse 4.7生成sstables,运行的sstableloader是dse 4.6。

请注意,可以将表从4.6接收到dse 4.7以进行调试等,但是必须先运行nodetool upgradedesstables。这不是这里发生的事情。