J'ai un nœud cassandra sur une machine. Lorsque j'accède à cqlsh à partir du même machne, cela fonctionne correctement.
Mais quand j'ai essayé de me connecter à son cqlsh en utilisant "192.x.x.x" à partir d'une autre machine, je reçois une erreur disant
Erreur de connexion: ('Impossible de se connecter à des serveurs', {'192.xxx': erreur (111, "Tentative de connexion à [('192.xxx', 9042)]. Dernière erreur: connexion refusée")} )
Quelle est la raison pour ça? Comment puis-je le réparer?
Probablement le nœud distant Cassandra n'est pas lié à l'interface réseau externe mais à l'interface de bouclage (c'est la configuration par défaut). Vous pouvez vous en assurer en utilisant "telnet thecassandrahost 9042" à partir de la machine distante , cela ne devrait pas fonctionner.
Pour lier Cassandra à l'interface réseau externe, vous devez modifier le fichier de configuration cassandra.yaml et définir les propriétés "listen_address
" et "rpc_address
"sur votre IP distante ou" 0.0.0.0 "(toutes les versions de Cassandra ne prennent pas en charge les adresses génériques).
Vérifiez également que le pare-feu est correctement configuré ou désactivé (le service Sudo iptables s'arrête).
Définissez le paramètre de configuration où se trouve ce fichier. Peut-être /etc/cassandra/cassandra.yaml
.
listen_address: 192.x.x.x
rpc_address: 192.x.x.x
Redémarrez ensuite le service.
1.Mise à jour :./conf/cassandra.yaml
rpc_address: 0.0.0.0 ("0.0.0.0" allow anywhere IP,but you can appoint an IP)
\# broadcast_rpc_address: 1.2.3.4 (Delete comment if pc_address=0.0.0.0)
2. redémarrage
./bin/cassandra
Cas: J'ai rencontré un problème auquel je ne peux pas accéder à distance cassandra Lorsque j'utilise Java access cassandra
J'ai le même problème. Et je suis la réponse suivante dans ce post. Malheureusement, je n'ai pas de chance de le faire fonctionner. J'ai fait des recherches. Et ça marche maintenant. Voici mon changement.
Environnement Ubuntu Server 16.04.3 LTS sur VirtualBox, DSE version 5.1
Installer DSE
J'installe DSE suivre cette page https://docs.datastax.com/en/dse/5.1/dse-dev/datastax_enterprise/install/installGUIdse.html
Ceci est mon journal en 15 secondes. `ubuntu08 @ ubuntu08: ~ $ nodetool status nodetool: Échec de la connexion à '127.0.0.1:7199' - ConnectException: 'Connexion refusée (Connexion refusée)'. ubuntu08 @ ubuntu08: ~ $ nodetool status
Erreur: le noeud n'a pas encore de system_traces, probablement toujours en amorçant ubuntu08 @ ubuntu08: ~ $ nodetool status
Status = Up/Down |/State = Normal/Leaving/Joining/Moving - Address Load Tokens Owners Host ID Rack UN 10.0.0.44 278.51 KiB 32? 19db0016-df63-4470-9921-f3b5fe4e9341 rack1 '
Ceci est un autre document pour Cassandra https://docs.datastax.com/en/developer/Java-driver/3.3/manual/address_resolution/
Définissez le paramètre de configuration suivant dans le fichier cassandra.yaml (pour CentOS, il se trouve dans /etc/cassandra/default.conf)
rpc_address: 0.0.0.
Vérifiez que les valeurs suivantes sont identiques à celles ci-dessous (généralement, elles sont par défaut)
start_native_transport: true
native_transport_port: 9042
Dernière étape pour CentOS, mettre à jour la configuration du pare-feu et autoriser le port 9042 à travers pour les connexions entrantes
Même après avoir défini le RPC_ADDRESS
, cela n'a pas fonctionné pour moi, jusqu'à ce que je définisse le -e CASSANDRA_START_RPC=true
option.
Il a toujours été défini sur false
dans mon cas. J'ai essayé cela avec Ubuntu, Docker et Cassandra.