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.
Suivi de vos étapes, obtenir encore erreur NoHostAvailable, mais cette fois 'nodetool status' est montrant seulement un noeud sur les deux machines. – Hrishikesh
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. –