2
votes

we are using apache-cassandra 1.1.9 version on Production Cassandra Cluster on linux.I want to upload some data using sstableloader. I was able to generate sstables for a small data and then tried to upload these sstables into Cassandra Cluster using sstableloader from another machine(which is in same network but not in cassandra cluster ring) but get below error

"Could not retrieve endpoint ranges:"

I do not understand why this error is coming. This machine , where i am running sstableloader, has same cassandra installation.I copied the cassandra.yaml from production cassandra into my host machine's apache-cassandra/conf folder.

My sstables are in below directory structure:- /path/to/keyspace dir/Keyspace/*.db

SStable command I am running is below

./sstableloader -d -i , /home/Data/Keyspace/ Could not retrieve endpoint ranges:

Please advise , if i am doing wrong here ?

2

2 Answers

3
votes

Found the solution. The sstableloader command needs to be executed from the directory containing the Keyspace subdirectory. For e.g if /home/Data is the directory structure, under which there is sub directories keyspace/ColumnFamily/ then execute command like below from /home/Data/ directory.

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

0
votes

This is a bit old, but I ran into the "Could not retrieve endpoint ranges" error recently with a different root cause.

In our case, data was being exported from a production system, and loaded to a new development instance. The development instance had been incorrectly set up so the sstables were generated using dse 4.7, and the sstableloader being run was dse 4.6.

Note that it is possible to ingest tables from 4.6 into dse 4.7 for debugging, etc, but that it is necessary to run nodetool upgradesstables first. That isn't what was going on here.