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?
cassandra.yaml
sur la ligne avec rpc_port :
normalement par défaut = 9160
cassandra
cqlsh 127.0.0.1 9160
: ça devrait aller dans tous les cascqlsh [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
Vous devez vous connecter à cassandra via le rpc_address
défini dans cassandra.yaml
. Par exemple, j'utilise cqlsh 10.0.80.49 9160
.
Pensez à changer /etc/cassandra.yaml
:
# Whether to start the thrift rpc server.
start_rpc: false
à
start_rpc: true
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
Peut-être commencer cassandra sur votre machine locale par bin/cassandra -f
d'abord?
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 .
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.
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
Utilisez cette commande
Sudo service cassandra start
pour démarrer cassandra puis utiliser
cqlsh command
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.
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
pour 2.0.5
, ce qui suit fonctionne pour moi.
$CASSANDRA_HOME/bin/cqlsh xx.xx.xxx.xxx 9160