2012-09-02 18 views

Respuesta

44

El acceso remoto a Cassandra se realiza a través de su puerto de ahorro (aunque tenga en cuenta que el puerto JMX se puede utilizar para realizar algunas operaciones limitadas).

El puerto de segunda mano se define en cassandra.yaml por el parámetro rpc_port, que por defecto es 9160. El nodo Cassandra deben estar unidos a la dirección IP de la tarjeta de red del servidor - no debe ser 127.0.0.1 o localhost que es la interfaz de bucle de retorno de IP, vinculante para esto evitará el acceso remoto directo. Configura la dirección vinculada con el parámetro rpc_address en cassandra.yaml. Estableciendo esto en 0.0.0.0 dice "escuchar en todas las interfaces de red" que pueden o no ser adecuadas para usted.

Para realizar una conexión que puede utilizar:

  • El cassandra-CLI en el directorio bin de la distribución Cassandra proporciona sencilla get/set operaciones/Lista y depende de Java
  • La cáscara cqlsh que proporciona acceso CQL a Cassandra, esto depende de Python
  • Una interfaz de nivel superior, tales como Apollo
+1

Conexión rechazada :(Incluso cuando intento al telnet a mi servidor en el puerto 9160 ... – user1588782

+1

¿Se puede ejecutar estos comandos: ps -ef | grep CassandraDaemon; -lntp -an | grep Esto mostrará qué combo (s) de IP/puerto está escuchando su cassandra. Como un lado, trate de evitar el telneting al puerto de ahorro - pasando cualquier información no económica puede llevar a situaciones OutOfMemory (es una "característica" bastante desagradable) para probar y confirmar esto, telnet al tipo de puerto de ahorro en texto aleatorio , pulse regresar, luego monitoree el uso de la memoria del pid CassandraDaemon en los próximos minutos). – CraigJPerry

+1

Tenga en cuenta que Cassandra es resistente a la basura al azar en el puerto de ahorro desde la versión 0.7.0 hace dos años. – jbellis

3

para cualquier persona que utilice Azure, el problema puede ser que usted Necesita crear una dirección IP pública ya que la IP virtual apunta al servicio en la nube y no a la máquina virtual. Puede encontrar más información in this post

3

Para cualquier persona que encuentre esta pregunta ahora, la respuesta principal está desactualizada.

La interfaz de ahorro de Apache Cassandra está en desuso y se eliminará en Cassandra 4.0. El puerto de cliente predeterminado ahora es 9042.

Según lo observado por Tyler Hobbs, deberá asegurarse de que el parámetro rpc_address no esté configurado en 127.0.0.1 o localhost (es localhost por defecto). Si lo establece en 0.0.0.0 a escuchar en todas las interfaces, también tendrá que establecer broadcast_rpc_address a cualquiera de las direcciones IP pública o privada del nodo (en función de cómo se va a conectar a Cassandra)

Cassandra-cli también es obsoleto y Apollo ya no está activo. Use cqlsh en lugar de cassandra-cli y Java driver en lugar de Apollo.

No recomiendo hacer que el puerto JMX sea accesible de forma remota a menos que secure it properly habilite SSL y autenticación fuerte.

Espero que esto sea útil.