私は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を更新してください。Cassandraクラスタリングシングルノード
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
他の設定はデフォルトの設定であり、私は何も変更していません。私はそうdefaulyどんなpartionerを指定していない
CREATE KEYSPACE demo with placement_strategy = 'org.apache.cassandra.locator.SimpleStrategy' and strategy_options = [{replication_factor:2}];
をランダムである私は推測する:それから私は使用してキースペースとカラム家族が作成されます。私は127.0.0.1に接続してデータを挿入しようとした場合
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.2のために挿入されなければならないが、それはそうではないということ信じて。
Set orders[KEY][user] = 'ABC' list orders;
間違いがありますか?私はそれを実行可能にするために何をすべきですか?
ある場合は詳細を教えてください。私はキースペース、列ファミリとデータ挿入を作成する間に何か間違っていると思います。あなたは2つのノードの挿入を持つ例がある場合も素晴らしいでしょう。
はい、両方のIPをシードとして使用しています。 INFOレベルをDEBUGに変更して、両方の通信が確実に行われるようにしましたが、一度に1つのIPしか見ることができません。両方のIPは通信していません。 – Jone
はい、シードとしてIPを両方使用しています。シードとして単一IPに設定した場合、2番目のサーバーを実行すると例外が発生します。 – Jone