2016-10-21 19 views
1

以下の設定で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は何も表示していません。

ご協力いただければ幸いです。
ありがとうございます。

答えて

0

各ノードにrpc_address:listen_address:にノードのIPを置き、各ノード(DC1とDC2)に同じseeds:を入れてみます。また、cassandra-topology.propertiesの場合は、各ノードに同じ設定を行います。だから、例えば、あなたのノード1の構成は次のようになります:

cluster_name: 'TestCluster' 
num_tokens: 256 
listen_address: 192.168.1.177 
rpc_address: 192.168.1.177 
- seeds: "192.168.1.177,192.168.1.134" 
endpoint_snitch: GossipingPropertyFileSnitch 

、各ノードについて、cassandra-topology.properties

192.168.1.177=DC1:RAC1 
192.168.1.134=DC2:RAC2 
+0

はまだNoHostAvailableエラーを取得し、あなたの手順に従ったが、今回、 'nodetoolのstatus'があります両方のマシンに1つのノードしか表示されません。 – Hrishikesh

+0

あなたが持っているエラーは、レプリケーション戦略の理由です。 DC1とDC2の両方でレプリケーションファクタ2がありますが、各DCでは単一のノードを使用できます。レプリケーションファクタ2には少なくとも2つのノードが必要です。通常、レプリケーションファクタ2を行いますが、DCでは3つのノードを使用できます。しかし、2ノードDCの場合、複製ファクトリが機能します。 –

関連する問題