2017-10-11 5 views
1

では既存のクラスタに新しいデータセンターを追加することができ、複製因子1といくつかの範囲を任意のソースデータセンター内に見つからないというエラーがスローされます。は、我々は、同じクラスタ内の高い複製因子で新しいデータセンターを追加するために、カサンドラに高いレプリケーションファクタ

データセンターに(X-RF = 2)、(Y-RF = 1)があります。私はDatacenter(Z - RF = 3)を追加したいと思います。

Iは、データセンターZのノードを追加しました。 しかし

には、再構築nodetool - X

をそれは

java.lang.IllegalStateExceptionエラーで失敗:ストリーミング範囲(-3685074324747697686、のための十分な情報源を見つけることができません - 3680615207285604279]のレプリケーションファクタ1を持つキースペース

すべての基本的な詳細Colu mnファミリ:

AND bloom_filter_fp_chance = 0.01 

AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}' 

AND comment = '' 

AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy'} 

AND compression = {'sstable_compression': 'org.apache.cassandra.io.compress.LZ4Compressor'} 

AND dclocal_read_repair_chance = 0.1 

AND default_time_to_live = 0 

AND gc_grace_seconds = 864000 

AND max_index_interval = 2048 

AND memtable_flush_period_in_ms = 0 

AND min_index_interval = 128 

AND read_repair_chance = 0.0 

AND speculative_retry = '99.0PERCENTILE'; 
+0

できますキースペースを投稿しますか? 'describe keyspace'を試してくださいincqlsh – FuzzyAmi

+0

Keyspaceには100以上の列ファミリがあります。正確に何を見たいのですか? 以下、私はいくつかの共通の詳細を共有しました。 – sachin

+0

実際には、私はkeyspace文そのものが欲しいです。鍵空間等 – FuzzyAmi

答えて

0

あなたがする必要があるのは、ALTER KEYSPACEとnodetool rebuildです。 DESCRIBE KEYSPACE keyspace_nameから取得したテキストを、最初はCREATEなしでコピーします。レプリケーションで新しいデータセンターを追加します。

ALTER KEYSPACE keyspace_name WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'datacenter1' : 1, 'datacenter2' : 3 }; 

は、その後の操作を行います。あなたの鍵空間の定義に示すように

nodetool rebuild -- datacenter1 
+0

あなたが言ったことは、ドキュメンテーションに記載されていて、私が実稼働環境でデータセンターを2〜3時間配備したドキュメンテーションに従っています。しかし、今、別のデータセンターを作成しようとすると、私の投稿で言及したように、エラー(ava.lang.IllegalStateException:)が表示されます。 私の他のデータセンターにはcassandraバージョン2.2.9があります。最新のcassandra debianパッケージは2.2.11バージョンを提供しました。 – sachin

+0

あなたのテキストから、 "nodetool rebuild - X"を実行しているときにエラーが発生したようです。つまり、再構築を行う前にキースペースを変更する必要があるということです。 –

+0

キースペースを変更しましたが、(system_distributed)のようなデフォルトキースペースの場合、エラーがスローされます。 – sachin

0

あなたの現在の構成は、単一DCためです。 KEYSPACEを変更する必要があります - それに別のDCを含める必要があります。これにより、レプリケーションプロセスが開始されます。読み書きされるキーは、新しいDCに複製されます。 「私は私のkeyspacesを変更する必要がありますが、それはエラーをスローします(system_distributed)のようなデフォルトのキースペースのため」 - に完全には、すべてのデータをコピーし、あなたはnodetool rebuild -- DC2コマンドあなたのコメントに基づいて

0

に使用する(ほかに)必要がありますユーザー固有のkeyspaces以外

、 "system_distributed" のようなデフォルトのシステムkeyspacesは "NetworkTopologyStrategy"(ローカル戦略を除くマルチDC用SimpleStratergyではありませんkeyspaces、)に 参照されていることを確認してください:ポイント-2 https://docs.datastax.com/en/cassandra/3.0/cassandra/operations/opsAddDCToCluster.html

+0

バージョン3.0以降で提案していることは真です。しかし、私はバージョン2.2.Xを使用しています。 – sachin

+0

2.2も同じです:https://docs.datastax.com/en/cassandra/2.1/cassandra/operations/ops_add_dc_to_cluster_t.html –

関連する問題