2017-01-20 3 views
0

J'ai créé un CentOS sur GCE et installé dsc-cassandra 3.0. Ensuite, j'ai changé le rpc_address de localhost au internal ip ou external ip dans cassandra.yaml.
Sur la VM, j'ai démarré cassandra et utilisé cqlsh pour accéder à cassandra avec succès. Mais je ne pouvais pas utiliser cqlsh internal_ip ou cqlsh external_ip.
En outre, j'ai activé le port tcp: 9042 pour cette instance.Comment configurer Cassandra sur GCE puis je peux y accéder à partir de mon application Java locale fonctionnant sous Win7?

Mais je ne pouvais toujours pas accéder à Cassandra à partir de mon application Java locale avec l'exception NoHostAvailableException (Impossible de se connecter). Par ailleurs, j'ai fait la même chose avec ma VM locale exécutée avec VM VistualBox. Je pourrais y accéder.

Exécution sudo netstat -lntp | grep pid affichée:

tcp  0  0 127.0.0.1:33743   0.0.0.0:*    LISTEN  1207/java   
tcp  0  0 127.0.0.1:7000   0.0.0.0:*    LISTEN  1207/java   
tcp  0  0 127.0.0.1:7199   0.0.0.0:*    LISTEN  1207/java   
tcp6  0  0 127.0.0.1:9042   :::*     LISTEN  1207/java 

L'adresse IP était encore 127.0.0.1. Je pense que c'est ça le problème. Comment configurer le fichier cassandra.yaml?

Répondre

0

Je sais où j'avais tort.

J'ai utilisé sudo service cassandra restart pour redémarrer cassandra après l'édition du cassandra.yaml. Le terminal a montré:

Restarting cassandra (via systemctl): [ OK ] 

En fait, je pense qu'il ne l'a pas vraiment redémarré. Ensuite, j'ai utilisé nodetool stopdaemon pour arrêter cassandra, puis le redémarrer. La configuration de cassandra.yaml a fonctionné.

commandes utiles:

1. 
ps aux | grep cassandra 
sudo netstat -lntp | grep <cassandra_pid> 

utilisation de ces commandes pour vérifier l'adresse IP/port du service cassandra sur VM à distance. tcp 0 0 127.0.0.1:7000 0.0.0.0:* LISTEN 5928/java tcp 0 0 127.0.0.1:42682 0.0.0.0:* LISTEN 5928/java tcp 0 0 127.0.0.1:7199 0.0.0.0:* LISTEN 5928/java tcp6 0 0 10.138.0.2:9042 :::* LISTEN 5928/java

2. 
telnet <cassandra_ip> 9042 

En utilisant cette commande pour vérifier l'adresse IP/port du service cassandra sur la machine locale.