6

システムにCassandra1.1.2をシングルノードクラスターとしてインストールし、3つのキースペース(、、およびhotelstudentがありemployeeます。hotel可能であれば、のキースペーススキーマとその列ファミリーデータをダンプし、他のCassandraクラスターでダンプを復元したいと思います。誰かが私にこれをどのように行うべきかを詳細に提案できますか?

4

2 に答える 2

6

Cassandraツールsstable2jsonを使用できますjson2sstable

同じこととこれについてもDatastaxのドキュメントをチェックしてください

Usage: sstable2json [-f outfile] <sstable> [-k key [-k key [...]]]
Usage: json2sstable -K keyspace -c column_family <json> <sstable>

ファイル内の cassandra-cli コマンドをいつでも実行できます

cassandra-cli -h HOST -p PORT -f fileName

すべての作成ステートメントをファイルにロードして、このコマンドを実行できます

cli スクリプトを取得してキースペースと列ファミリーを作成するには、cassandra-cli インターフェイスで次のコマンドを使用します。

show schema

ただし、2 つのノードのクラスターを作成する場合に備えて。上記のすべてを行う必要はありません。別のトークン範囲と同じクラスター名で他のノードを起動するだけで十分です。Cassandra は、データとスキーマ情報のストリーミングを内部的に管理します。

于 2012-07-27T07:31:12.650 に答える
2

大量のデータを使用stable2jsonしてロードすることはお勧めしません。json2sstablejackson API を使用してデータセットを作成し、それを json 形式に変換します。すべてのデータをメモリにロードして、一意の json 表現を作成することを意味します。

少量のデータであれば問題ありませんが、4,000 万行を超える大規模なデータセット (約 25 GB のデータ) をロードすることを想像してみてください。これらのツールはうまく機能しません。私はすでにdatastaxの担当者に、明確にすることなくそれについて尋ねました。

大規模なデータセットの場合、cassandra データ ファイルをクラスターから別のクラスターにコピーするだけで問題が解決する場合があります。私の場合、Cassandra 1.0.6 クラスターから 1.2.1 クラスターに移行しようとしていたのですが、データ ファイルはこのバージョン間で互換性がありませんでした。

解決策は何ですか?これを解決するために、独自のエクスポート/インポート ツールを作成しています。このツールのリンクをすぐに投稿したいと考えています。

于 2014-02-27T11:46:23.570 に答える