2016-09-16 19 views
0

私は3のノードクラスタを持ち、複製係数は2ですが、3つのノードすべてでデータが複製されています。これは私のキースペースを作成する方法です。3ノードカサンドラクラスタで複製係数を2に設定します。それでもデータは挿入時に3つのノードすべてに複製されます

複製キー= {'class': 'SimpleStrategy'、 'replication_factor':2};

ここでは何が欠けていますか?

+0

「3つのノードすべてで複製されています」ということをどのように知ることができますか? – Rocherlee

答えて

0

データは、分散 上のノードされ、各ノードは、データ片保持:その割り当てられたパーティションに関連するデータの独自のピース、及びその隣接ノードに属するデータを。

1

Cassandraは、行の主キーに基づいてデータを配信します。テーブルはすべてのマシンで一般的に配布され、行を挿入すると「2台のマシン」にのみ挿入されます(この2台のマシンはランダムではなく、nodetoolで計算できます)

データがプライマリキーでどのように分配されるか、パーティションを見てください。 Cassandra Partitioners

+0

** "任意の2つのマシン" **のみが間違っています。 RF = 2 ** – xmas79

+0

を設定しているので、** 2台のマシンにする必要があります。申し訳ありませんが、あなたが強調した2つの文の違いを理解できません。彼らは同じことを意味します(少なくとも私には) – Sreekar

+0

はい、私はあなたが1行につき「2台のマシン」を持っていないことを意味しました、行ごとに「ちょうど2つのよく知られたマシン」を持っていて、誤解を招く(それは私にとって)。 – xmas79

0

getendpointsを、そのキースペース内にあるテーブル内の任意のパーティションキーで実行してみてください。そのパーティションを保持するノードリストが表示されます。この場合、出力は2つのノードとしてのみ取得する必要があります。

$ nodetool getendpoints <keyspace> <table> key 
関連する問題