以下の設定で2ノードのcassandraクラスタを作成しました。
ノード1:
cassandra-topology.properties:Cassandra:GossipingPropertyFileSnitch:テーブルに挿入中のNoHostAvailable例外
192.168.1.177=DC1:RAC1
192.168.1.134=DC2:RAC2
cassandra.yml:
cluster_name: 'TestCluster'
num_tokens: 256
listen_address:
rpc_address: localhost
- seeds: "192.168.1.177,192.168.1.134"
endpoint_snitch: GossipingPropertyFileSnitch
ノード2:
cassandra-topology.properties:
192.168.1.177=DC1:RAC1
127.0.0.1=DC2:RAC2 # Also tried 192.168.1.134 ip
cassandra.yml:
cluster_name: 'TestCluster'
num_tokens: 256
listen_address:
rpc_address: localhost
- seeds: "192.168.1.177"
endpoint_snitch: GossipingPropertyFileSnitch
「nodetool status」コマンドを使用して、両方のノードが起動していることがわかります。私も両方のノードに複製さのテーブルを作成することができます
> CREATE KEYSPACE testReplication WITH replication = {'class': NetworkTopologyStrategy', 'DC1' : '2', 'DC2' : '2'};
が、私は、テーブルcqlshの「INSERT」または「SELECT」にしようとすると、「NoHostAvailable:」与えます:私が作成した鍵空間は以下の通りです、 しかし、system.logは何も表示していません。
ご協力いただければ幸いです。
ありがとうございます。
はまだNoHostAvailableエラーを取得し、あなたの手順に従ったが、今回、 'nodetoolのstatus'があります両方のマシンに1つのノードしか表示されません。 – Hrishikesh
あなたが持っているエラーは、レプリケーション戦略の理由です。 DC1とDC2の両方でレプリケーションファクタ2がありますが、各DCでは単一のノードを使用できます。レプリケーションファクタ2には少なくとも2つのノードが必要です。通常、レプリケーションファクタ2を行いますが、DCでは3つのノードを使用できます。しかし、2ノードDCの場合、複製ファクトリが機能します。 –