web-dev-qa-db-fra.com

Comment connecter Cassandra à localhost en utilisant cqlsh?

J'ai mis rpc_port sur l'adresse IP publique, et je peux maintenant me connecter à Cassandra très bien à partir d'un serveur extérieur.

Cependant, je ne peux pas me connecter depuis le serveur Cassandra lui-même, en utilisant cqlsh

Je reçois une erreur.

 Connection error: Could not connect to localhost:9160

Y at-il une configuration, je peux changer pour pouvoir me connecter à partir du serveur lui-même?

23
Albert Lim
  1. Vérifiez le fichier cassandra.yaml sur la ligne avec rpc_port : normalement par défaut = 9160
  2. Connectez-vous à la machine hébergeant cassandra
  3. Essayez cqlsh 127.0.0.1 9160: ça devrait aller dans tous les cas
  4. try cqlsh [IP of Host] 9160: si ok alors cassandra accessible depuis lan, si ok alors cassandra n'est pas accessible depuis lan mais seulement localhost 127.0.0.1
20
LeGeekDOzoZoo

Vous devez vous connecter à cassandra via le rpc_address défini dans cassandra.yaml. Par exemple, j'utilise cqlsh 10.0.80.49 9160

8
Daniel Compton

Pensez à changer /etc/cassandra.yaml:

# Whether to start the thrift rpc server.
start_rpc: false

à

start_rpc: true
8
Hall Newman

Si vous êtes sur OSX 

brew install cassandra

Commencez la Cassandra

cassandra

 Start the Cassandra Connexion via CQL Shell

cqlsh 127.0.0.1

 enter image description here

5
Gajen Sunthara

si vous voyez ceci dans les journaux de cassandra:

INFO  [main] 2015-07-21 12:06:27,426 CassandraDaemon.Java:406 - Not starting RPC server as requested. Use JMX (StorageService->startRPCServer()) or nodetool (enablethrift) to start it

il suffit ensuite d'ouvrir un terminal et

$ nodetool enablethrift

comme écrit dans le message INFO. Devrait maintenant travailler. Je l'ai eu lorsque mon système a été mis à niveau vers Cassandra 2.2.0

5
Vincent de Lagabbe

Peut-être commencer cassandra sur votre machine locale par bin/cassandra -f d'abord?

4
Jun

Il n'écoute pas sur 127.0.0.1 puisque vous lui avez dit d'écouter uniquement sur <public IP>. Définissez l'adresse d'écoute 0.0.0.0 pour écouter toutes les adresses (ou omettez-la si possible, car il s'agit généralement de la valeur par défaut). Voir Didacticiel .NET pour Listening Sockets ou tout autre didacticiel de socket pour obtenir une compréhension de base de la liaison de socket.

Mise à jour (@ c45556037 ):

Notez que listen_address est celui que autres nœuds doit utiliser pour se connecter à celui-ci (un nom trompeur). rpc_address est l'adresse à laquelle vous souhaitez vous connecter localement. Cela ne ressort pas clairement du 2.0 docs et est mieux expliqué dans le 1.0 docs .

3
ivan_pozdeev

Exception de connexion à localhost/9160. raison: connexion refusée

Connection a refusé de cassandra en mode cli. 

allez au répertoire racine de cassandra:

bin/cassandra -- Host {Host-ip} --port {9160}

si vous rencontrez des problèmes avec cela, vérifiez votre {cassandra-root-directory} /conf/cassandra.yaml

thrift ip ou rpc_address est l'adresse utilisée comme adresse IP de l'hôte pour se connecter à cli . en font votre adresse IP locale. Si vous rencontrez des problèmes pour vous connecter via le port 9160, essayez de changer rpc_port en 8070 et essayez maintenant mode cassandra-cli en utilisant la commande 

bin/cassandra --Host {local-IP} --port 8070

Cela a fonctionné pour moi, espérons que cela fonctionne pour vous aussi.

1
user3617840

J'ai fait face à la même situation en commençant cqlsh. J'ai eu l'erreur suivante lors du démarrage de cassandra

Entrez seulement ---- cassandra ----- dans le terminal.

il affichera tous les fichiers jars et les fichiers journaux. si le terminal est bloqué, échappez-vous et entrez dans cqlsh. alors il entrera à cassandra cli. 

Cela a fonctionné pour moi

How to change default port 9042 in Cassandra ?

I resolved issue using below steps :

1.  Stop cassandara services
Sudo su -
systemctl stop datastax-agent
systemctl stop opscenterd
systemctl stop app-dse

2.  Take backup and Change port from 9042 to 9035
cp /opt/dse/resources/cassandra/conf/cassandra.yaml /opt/dse/resources/cassandra/conf/bkp_cassandra.yaml
Vi /opt/dse/resources/cassandra/conf/cassandra.yaml
native_transport_port: 9035

3.  Start Cassandra services 

systemctl start datastax-agent
systemctl start opscenterd
systemctl start app-dse

4. create cqlshrc file.

vi  /root/.cassandra/cqlshrc

[connection]
hostname = 198.168.1.100
port = 9035

Thanks,
Mahesh
0
mahesh agrawal

Utilisez cette commande

Sudo service cassandra start

pour démarrer cassandra puis utiliser 

cqlsh command
0

Veuillez exécuter la requête ci-dessous pour résoudre le problème.

#!/bin/bash
export CASSANDRA_HOME=/opt/Apache-cassandra-2.1.8
export CQLSH_Host=192.168.1.200
export CQLSH_PORT=9042
echo $@
$CASSANDRA_HOME/bin/cqlsh $@'    

Assurez-vous de changer l'adresse IP et l'emplacement de cassandra Home Directory.

0
Imran Ahmed

Pensez à changer /etc/cassandra-env.sh:

JVM_OPTS="$JVM_OPTS -Dcom.Sun.management.jmxremote.ssl=true"
not "true" but "false"
JVM_OPTS="$JVM_OPTS -Dcom.Sun.management.jmxremote.ssl=false"

Sudo service cassandra redémarrer

0
Master rsl

pour 2.0.5, ce qui suit fonctionne pour moi. 

   $CASSANDRA_HOME/bin/cqlsh xx.xx.xxx.xxx 9160
0
user2720864