2

sstableloader を使用して、あるクラスターから別のクラスターに cassandra データをダンプしようとしています。

セカンダリ インデックス列用に作成されたデータ ファイルを除いて、ダンプ プロセスはすべてうまくいきます。ダンプしようとすると、「COLUMN FAMILY DOES NOT EXISTS」で失敗します。

ソース クラスタからスキーマを作成しました。

.db ファイルの形式がkeyspace-columnfamily-generation-number-Data.db になることはわかっていますが、インデックス付き CF の .db ファイルにはkeyspace-columnfamily-index_name-generation-number-Data.db が含まれます。そのため、index_name を含む CF 名を検索しています。

sstableloader を使用してこれらのファイルをダンプする方法は?

4

1 に答える 1

2

インデックス ファイルをダンプしないでください。ターゲット クラスターのスキーマ定義がソース クラスターと同じである場合、ターゲット クラスターはSSTableをロードした後にセカンダリ インデックスを再生成します。このメッセージが表示される理由は、内部ではセカンダリ インデックスがローカル列ファミリーとして定義されているためです。

そのため、「Data.db」ファイルをダンプし、ターゲット クラスタでスキーマを定義し、sstables をロードして再起動します。残りはあなたのために世話をする必要があります。

于 2014-02-10T20:43:27.793 に答える