私は3のノードクラスタを持ち、複製係数は2ですが、3つのノードすべてでデータが複製されています。これは私のキースペースを作成する方法です。3ノードカサンドラクラスタで複製係数を2に設定します。それでもデータは挿入時に3つのノードすべてに複製されます
複製キー= {'class': 'SimpleStrategy'、 'replication_factor':2};
ここでは何が欠けていますか?
私は3のノードクラスタを持ち、複製係数は2ですが、3つのノードすべてでデータが複製されています。これは私のキースペースを作成する方法です。3ノードカサンドラクラスタで複製係数を2に設定します。それでもデータは挿入時に3つのノードすべてに複製されます
複製キー= {'class': 'SimpleStrategy'、 'replication_factor':2};
ここでは何が欠けていますか?
データは、分散 上のノードされ、各ノードは、データ片保持:その割り当てられたパーティションに関連するデータの独自のピース、及びその隣接ノードに属するデータを。
Cassandraは、行の主キーに基づいてデータを配信します。テーブルはすべてのマシンで一般的に配布され、行を挿入すると「2台のマシン」にのみ挿入されます(この2台のマシンはランダムではなく、nodetool
で計算できます)
データがプライマリキーでどのように分配されるか、パーティションを見てください。 Cassandra Partitioners
getendpoints
を、そのキースペース内にあるテーブル内の任意のパーティションキーで実行してみてください。そのパーティションを保持するノードリストが表示されます。この場合、出力は2つのノードとしてのみ取得する必要があります。
$ nodetool getendpoints <keyspace> <table> key
「3つのノードすべてで複製されています」ということをどのように知ることができますか? – Rocherlee