2

Linux のプロダクション Cassandra クラスターで apache-cassandra 1.1.9 バージョンを使用しています。sstableloader を使用してデータをアップロードしたいと考えています。小さなデータの sstables を生成できた後、別のマシン (同じネットワークにありますが、cassandra クラスター リングにはありません) から sstableloader を使用して、これらの sstables を Cassandra クラスターにアップロードしようとしましたが、以下のエラーが発生しました。

「エンドポイント範囲を取得できませんでした:」

このエラーが発生する理由がわかりません。sstableloader を実行しているこのマシンには、同じ cassandra がインストールされています。cassandra.yaml を本番環境の cassandra からホスト マシンの apache-cassandra/conf フォルダーにコピーしました。

私の sstables はディレクトリ構造の下にあります:- /path/to/keyspace dir/Keyspace/*.db

私が実行しているSStableコマンドは以下です

./sstableloader -d -i , /home/Data/Keyspace/ エンドポイント範囲を取得できませんでした:

ここで間違っている場合は、アドバイスしてください。

4

2 に答える 2

3

解決策を見つけました。sstableloader コマンドは、Keyspace サブディレクトリを含むディレクトリから実行する必要があります。たとえば、/home/Data がディレクトリ構造で、その下にサブディレクトリ keyspace/ColumnFamily/ がある場合、/home/Data/ ディレクトリから次のようなコマンドを実行します。

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

于 2013-10-26T15:56:33.000 に答える
0

これは少し古いですが、最近別の根本原因で「エンドポイント範囲を取得できませんでした」というエラーが発生しました。

この場合、データは本番システムからエクスポートされ、新しい開発インスタンスにロードされました。開発インスタンスが正しく設定されていなかったため、sstables は dse 4.7 を使用して生成され、実行されている sstableloader は dse 4.6 でした。

デバッグなどのために 4.6 から dse 4.7 にテーブルを取り込むことは可能ですが、最初に nodetool upgradesstables を実行する必要があることに注意してください。それはここで起こっていたことではありません。

于 2016-02-24T16:10:54.417 に答える