Utilizzo delle porte Cassandra: come vengono utilizzate le porte?


96

Durante la sperimentazione con Cassandra, ho osservato che Cassandra ascolta le seguenti porte:

  • TCP *: 8080
  • TCP *: 8888
  • TCP *: 57311
  • TCP *: 57312
  • TCP 127.0.0.1:7000
  • TCP 127.0.0.1:9160
  • UDP 127.0.0.1:700

In che modo Cassandra utilizza ciascuna delle porte elencate?


13
adamse: Grazie per il suggerimento! Probabilmente è così, ma per il bene dei futuri utenti di Cassandra su Stackoverflow (una popolazione in crescita!) Penso che sia bene avere la risposta memorizzata anche qui :-)
knorv

Risposte:


131

@Schildmeijer ha ampiamente ragione, tuttavia la porta 7001 viene ancora utilizzata quando si utilizza la comunicazione TLS Encrypted Internode

Quindi la mia lista completa sarebbe per le versioni attuali di Cassandra:

  • 7199 - JMX (era 8080 prima di Cassandra 0.8.xx)
  • 7000 - Comunicazione internodo (non utilizzato se TLS abilitato)
  • 7001 - Comunicazione TLS Internode (usata se TLS abilitato)
  • 9160 - API del client parsimonioso
  • 9042 - Porta di trasporto nativa CQL

4
Ecco il collegamento aggiornato del 2017 alla documentazione ufficiale cassandra.apache.org/doc/latest/faq/index.html#what-ports
Johnride

44

Per Apache Cassandra 2.0 è necessario prendere in considerazione le seguenti porte TCP : (vedere la configurazione del gruppo di sicurezza EC2 e le domande frequenti su Apache Cassandra )

Cassandra

  • 7199 Porta di monitoraggio JMX
  • 1024 - 65355 Porta casuale richiesta da JMX. A partire da Java 7u4 è possibile specificare una porta specifica utilizzando la com.sun.management.jmxremote.rmi.portproprietà.
  • 7000 Inter-node cluster
  • 7001 cluster tra nodi SSL
  • 9042 CQL Native Transport Port
  • 9160 Thrift

DataStax OpsCenter

  • 61620 demone opscenterd
  • 61621 Agente
  • Sito web 8888

Architettura

Una possibile architettura con Cassandra + OpsCenter su EC2 potrebbe essere simile a questa: AWS EC2 con OpsCenter


35

8080 - JMX (telecomando)

8888 - Debugger remoto (rimosso nella 0.6.0)

7000 - Utilizzato internamente da Cassandra
(7001 - Obsoleto, rimosso nella 0.6.0. Utilizzato per la comunicazione dei membri, alias gossip)

9160 - API del client parsimonioso

Domande frequenti su Cassandra Quali porte utilizza Cassandra?


7

JMX ora utilizza la porta 7199 invece della porta 8080 (a partire da Cassandra 0.8.xx).

Questo è configurabile nel file cassandra-env.sh, ma il valore predefinito è 7199.


5

Le porte 57311 e 57312 sono porte assegnate in modo casuale utilizzate per la comunicazione RMI. Queste porte cambiano ogni volta che Cassandra si avvia, ma devono essere aperte nel firewall, insieme a 8080/7199 (a seconda della versione), per consentire l'accesso JMX remoto. Qualcosa che non sembra essere particolarmente ben documentato, ma che mi ha fatto inciampare in passato.


1
Per i posteri, questo fastidio dovrebbe essere risolto, da Cassandra 2.0.8 in poi secondo questo ticket . L'impostazione predefinita cassandra-env.shora imposta la com.sun.management.jmxremote.rmi.portproprietà sullo stesso valore della porta JMX principale in modo che non vengano utilizzate porte casuali.
ches

0

Oltre alle risposte precedenti, come parte della configurazione del firewall, se si utilizza SSH, utilizzare la porta 22.


0

Ho risolto il problema utilizzando i passaggi seguenti:

  1. Stop ai servizi di cassandara

    sudo su -
    systemctl stop datastax-agent
    systemctl stop opscenterd
    systemctl stop app-dse
    
  2. Prendi il backup e cambia la porta da 9042 a 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. Avvia i servizi Cassandra

    systemctl start datastax-agent
    systemctl start opscenterd
    systemctl start app-dse
    
  4. crea il file cqlshrc.

    vi  /root/.cassandra/cqlshrc
    
    [connection]
    hostname = 198.168.1.100
    port = 9035
    

Grazie, Mahesh

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.