tried - connection refused cassandra
Cassandra cqlsh-conexión rechazada (14)
Empecé a trabajar con Cassandra (datastax), la versión 2.1.3 y la versión 5.0.1 de cqlsh.
Cassandra comienza bien y el clúster está en funcionamiento al instante.
Cqlsh no funciona (en ninguno de los nodos) y emite el siguiente error:
Error de conexión: (''No se puede conectar a ningún servidor'', {''127.0.0.1'': error (111, "Intentó conectarse a [(''127.0.0.1'', 9042)]. Último error: conexión rechazada")})
He intentado iniciar cqlsh con los hosts con ip propio, otros hosts con ip, diferentes puertos pero el resultado sigue siendo el mismo, siempre se rechaza la conexión.
Asegúrese de establecer también "seeds" a la dirección que proporcionó en "listen_address"
Busque native_transport_port en /etc/cassandra/cassandra.yaml El valor predeterminado es 9842.
native_transport_port: 9842
Para conectar con localhost con cqlsh, este puerto funcionó para mí.
cqlsh 127.0.0.1 9842
Cuando instalé Cassandra 3.11.1, me encontré con este problema. Verifiqué el /var/log/cassandra/cassandra.log y encontré este error Excepción encontrada durante el inicio ... Es un error y ya se informó. El enlace de publicación original https://issues.apache.org/jira/browse/CASSANDRA-14173 .
La solución es degradar Cassandra a 3.0
- descargar Cassandra rpm
curl -O https://www.apache.org/dist/cassandra/redhat/30x/cassandra-3.0.15-1.noarch.rpm
o
wget https://www.apache.org/dist/cassandra/redhat/30x/cassandra-3.0.15-1.noarch.rpm
- rpm -ivh cassandra-3.0.15-1.noarch.rpm
- inicio de servicio cassandra
- servicio estado de casandra # verificar estado de casandra
cassandra (pid 2322) se está ejecutando ...
- cqlsh # start cassandra
Es una buena idea verificar el registro de cassandra si incluso el servidor se está ejecutando. Obtuve exactamente el mismo mensaje y no pude hacer nada con eso y luego descubrí que hay errores en el registro y que el sistema en realidad no funciona.
Tonta, lo sé, pero podría pasar ...
Estaba experimentando el mismo problema con Cassandra 3.11.0, cada vez que cambiaba la dirección de rpc o escuchaba la dirección, cqlsh no funcionaba. Tuve que agregar la misma ip local a las seeds
Así que después de mucho ensayo y error mi trabajo cassandra.yml terminó así:
class-name: org.apache.cassandra.locator.SimpleSeedProvider
parameters:
-seeds: "192.168.0.30"
listen_adress: 192.168.0.30
rpc_address: 192.168.0.30
Esto se debe a algunas preconfiguraciones en la casandra. Y para solucionar esto, hay las siguientes líneas comentadas en el archivo cassandra-env.sh
:
#add this if you’re having trouble connecting: #JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=<public name>
donde debes comenzar a corregir el error.
Abra el terminal y comience a solucionarlo siguiendo estos sencillos pasos:
Paso 1
utilizar
sudo nano /etc/cassandra/cassandra-env.sh
este comando y busca JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=
descomenta la línea simplemente eliminando #
adjunto al inicio de la línea.
NOTA: si nunca ha abierto este archivo para corregir este error, encontrará JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=<public name>
Paso-2 Ahora reemplaza <public name>
con 127.0.0.1
Paso-3 Guarde el archivo y reinicie el cassandra usando systemctl restart cassandra.service
(si aún no tiene el servidor se está ejecutando). O inicie el cassandra usando systemctl start cassandra.service
(si el servidor no se está ejecutando).
Paso-4 Verifique el estado ya sea mediante el uso de sudo service cassandra status
o systemctl status cassandra.service
.
Nota: una vez que revise el sistema, monitoree si cassandra se está ejecutando allí o no.
Prueba cqlsh
ahora. Funcionará
Nota: nano
es editor, puede usar otros editores con los que se sienta cómodo.
Intentaba ejecutarlo en una unidad de red. Entonces client_timeout
en cqlsh y funcionó.
Intente cambiar el rpc_address
para apuntar a la IP del nodo en lugar de 0.0.0.0 y especifique el IP mientras se conecta al cqlsh, como si el IP fuera 10.0.1.34 y el rpc_port
del valor predeterminado 9160, entonces debería funcionar lo siguiente:
cqlsh 10.0.1.34 9160
O:
cqlsh 10.0.1.34
Intente hacer telnet a la dirección dada. En mi caso, había un firewall que me bloqueaba.
Para mí resultó que el servicio no se ejecutaba en absoluto. Comprobar con
service cassandra status
Si obtuviste el mismo error que obtuve u otro tipo, entonces jugar con direcciones IP no resolverá tu problema en absoluto.
El error que obtuve:
cassandra dead but pid file exists
Editar: Esta fue la solución para mi problema: https://.com/a/46743119/3881406
Si comprueba el archivo system.log de cassandra en / var / log / cassandra , verá que se produce este problema porque el servidor rpc no se ha iniciado.
Por defecto, start_rpc se establece en falso en el archivo cassandra.yaml . Establézcalo en start_rpc: true y vuelva a intentarlo.
Tuvo el mismo problema recientemente después de una degradación de Cassandra 3.0 a Cassandra 2.2 en ArchLinux.
A diferencia de las soluciones anteriores, mi problema no estaba en .cassandra, pero la versión 3.0 dejó su configuración en el directorio / var / lib / cassandra.
Los siguientes comandos resolvieron mi problema:
sudo rm -R /var/lib/cassandra
sudo rm -R /var/log/cassandra
sudo rm -R /usr/share/cassandra
Luego instalé Cassandra y todo funcionó de nuevo :)
intente cambiar el native_transport_protocol
al puerto 9160
(si está configurado en un valor distinto a 9160
, podría estar apuntando a 9042
). Compruebe sus registros y vea en qué puerto está escuchando Cassandra para clientes CQL.
cassandra.yaml
editar cassandra.yaml
en el nodo al que intenta conectarse y establecer la dirección IP del nodo para rpc_address
y listen_address
y reiniciar Cassandra.
rpc_address
es la dirección en la que Cassandra escucha las llamadas de los clientes.
listen_address
es la dirección en la que Cassandra escucha a los otros nodos de Cassandra.