2016-10-21 1 views
1

J'ai créé 2 nœuds cassandra cluster avec les configurations ci-dessous.
NODE-1:
cassandra-topology.properties:Cassandra: GossipingPropertyFileSnitch: exception NoHostAvailable lors de l'insertion dans la table

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 

Node-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 

Je peux voir que les deux nœuds fonctionnent et fonctionnent en utilisant la commande 'nodetool status'. Le Keyspace j'ai créé est comme ci-dessous:

> CREATE KEYSPACE testReplication WITH replication = {'class': NetworkTopologyStrategy', 'DC1' : '2', 'DC2' : '2'}; 

Je peux aussi créer des tableaux qui obtient répliquées sur les deux nœuds, mais lorsque je tente de « INSERT » ou « SELECT » sur la table cqlsh donne « NoHostAvailable: » , mais system.log ne montre rien à ce sujet.

Toute aide sera appréciée.
Merci.

Répondre

0

En cassandra.yaml dans chaque nœud, mettez votre adresse IP de nœud à rpc_address: et listen_address: et essayer de mettre seeds: même pour chaque noeud (DC1 et DC2). Et aussi pour cassandra-topology.properties, mettez la même configuration pour chaque noeud. Ainsi, par exemple, votre volonté de configuration Node-1 ressemble à:

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 

Et pour chaque nœud, cassandra-topology.properties:

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

Suivi de vos étapes, obtenir encore erreur NoHostAvailable, mais cette fois 'nodetool status' est montrant seulement un noeud sur les deux machines. – Hrishikesh

+0

L'erreur que vous rencontrez est la raison de votre stratégie de réplication. Dans DC1 et DC2 à la fois, vous avez le facteur de réplication 2, mais vous avez un seul nœud disponible dans chaque contrôleur de domaine. Vous devez avoir au moins 2 nœuds pour le facteur de réplication 2. Habituellement, nous faisons le facteur de réplication 2, tandis que 3 nœuds sont disponibles dans un contrôleur de domaine. Mais pour 2 nœuds DC, l'usine de réplication fonctionnera. –