1

1 つのノード クラスターがあり、127.0.0.1 と 127.0.0.2 の 2 つのアドレスに分割しました。データを 127.0.0.1 に挿入しようとすると、Cassandra Client を使用します。データは 127.0.0.1 に正常に追加され、それも表示できますが、127.0.0.2 から表示に接続しようとすると、更新が表示されません。データーがない。前回はうまく説明できなかったと思いますが、ここでは2つのcassandraを同じノードにあるCassandra 1とCassandra 2という名前の別のフォルダにコピーしました。それに応じて Cassandra.yaml を更新します。

1)

cluster_name: 'Test Cluster'
initial_token: 
data_file_directories: - /Cassandra/1/var/lib/cassandra/data
commitlog_directory: /Cassandra/1/var/lib/cassandra/commitlog
saved_caches_directory: /Cassandra/1/var/lib/cassandra/saved_caches 
- seeds: "127.0.0.1,127.0.0.2" 
listen_address: 127.0.0.1 
rpc_address: 127.0.0.1

2)

cluster_name: 'Test Cluster' 
initial_token: 
data_file_directories: - /Cassandra/2/var/lib/cassandra/data
commitlog_directory: /Cassandra/2/var/lib/cassandra/commitlog
saved_caches_directory: /Cassandra/2/var/lib/cassandra/saved_caches
- seeds: "127.0.0.1,127.0.0.2" 
listen_address: 127.0.0.2 
rpc_address: 127.0.0.2 

その他の設定はデフォルト設定で、何も変更していません。次に、以下を使用してキースペースと列ファミリーを作成します。

CREATE KEYSPACE demo with placement_strategy = 'org.apache.cassandra.locator.SimpleStrategy' and strategy_options = [{replication_factor:2}]; 

私はパーティショナーを指定していないので、デフォルトはランダムだと思います。

use demo; 

create column family order with comparator=UTF8Type and key_validation_class=UTF8Type and default_validation_class=UTF8Type and column_metadata=[{column_name: member, validation_class: UTF8Type},{column_name: user, validation_class: UTF8Type, index_type: KEYS},{column_name: instrument, validation_class: UTF8Type},{column_name: price, validation_class: DoubleType}, {column_name: quantity, validation_class: Int32Type},{column_name:datetime, validation_class: DateType}]; 

127.0.0.1 に接続してデータを挿入しようとすると、127.0.0.1 と 127.0.0.2 の両方にデータを挿入する必要があると思いますが、そうではありません。

Set orders[KEY][user] = 'ABC' list orders;

何か間違っていることでも ?実行可能にするにはどうすればよいですか。

詳しい例があれば教えてください。キースペース、列ファミリー、およびデータ挿入の作成中に何か間違ったことをしていると思います。2 つのノードを挿入する例があれば、それも素晴らしいでしょう。

4

2 に答える 2

1

ネイティブ トランスポートに別のポート番号を指定しようとした後、同様の問題が発生しました。同じポート (デフォルトでは 9042) である必要があります。そうでない場合、ノードは相互に検出されません。ノード間のポートの競合を防ぐために、IP アドレスは異なるものにする必要があります。

./nodetool status単に 2 つの分離されたインスタンスではなく、実際にクラスターを作成したかどうかを確認するために使用します。

于 2014-08-17T10:41:51.447 に答える
0

両方の IP をシードとして使用している場合は、最初に起動した方を単一の IP に設定します。

「nodetool --host [127.0.0.1|127.0.0.2] リング」とは何ですか。カスターで両方の IP を確認できますか。

于 2012-04-21T03:37:29.840 に答える