Question

Lors de l'expérimentation avec Cassandra j'ai observé que Cassandra écoute les ports suivants:

  • 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

Comment Cassandra utilise chacun des ports énumérés?

Était-ce utile?

La solution

@Schildmeijer est en grande partie à droite, mais le port 7001 est encore utilisé lors de l'utilisation TLS Encrypted Internode

Alors ma liste complète serait pour les versions actuelles de Cassandra:

  • 7199 - JMX (était 8080 avant Cassandra 0.8.xx)
  • 7000 - communication Internode (non utilisé si TLS est activé)
  • 7001 - communication TLS Internode (utilisé si TLS est activé)
  • 9160 - Thrift API client
  • 9042 - port de transport natif CQL

Autres conseils

Pour Apache Cassandra 2.0 vous devez prendre en compte les éléments suivants TCP ports : (Voir la configuration groupe de sécurité EC2 et Apache Cassandra FAQ )

Cassandra

  • 7199 Port de surveillance JMX
  • 1024-65355 Port aléatoire requis par JMX. A partir de Java 7u4 un port spécifique peut être spécifié en utilisant la propriété com.sun.management.jmxremote.rmi.port.
  • 7000 cluster inter-noeuds
  • 7001 SSL cluster inter-noeuds
  • 9042 Port CQL Transport natif
  • 9160 Thrift

DataStax OpsCenter

  • 61620 démon opscenterd
  • 61621 Agent
  • 8888 Site

Architecture

Une architecture possible avec Cassandra + OpsCenter sur EC2 pourrait ressembler à ceci: AWS EC2 avec OpsCenter

8080 - JMX (à distance)

8888 - débogueur à distance (supprimée dans 0.6.0)

7000 - interne par Cassandra occasion
(7001 -. Obsolète, retiré en 0.6.0 Utilisé pour la communication des membres, alias potins)

9160 - Thrift API client

Cassandra FAQ Quels ports utilisent Cassandra?

JMX utilise maintenant le port 7199 au lieu du port 8080 (comme Cassandra 0.8.xx).

Il est configurable dans votre fichier cassandra-env.sh, mais la valeur par défaut est 7199.

Ports 57311 et 57312 sont des ports affectés au hasard utilisés pour la communication RMI. Ces ports changent à chaque fois que Cassandra démarre, mais doivent être ouverts dans le pare-feu, ainsi que 8080/7199 (selon la version), pour permettre un accès à distance de JMX. Quelque chose qui ne semble pas être particulièrement bien documenté, mais m'a trébuché dans le passé.

En plus des réponses ci-dessus, dans le cadre de la configuration de votre pare-feu, si vous utilisez SSH puis utilisez le port 22.

Je résolus problème en utilisant étapes ci-dessous:

  1. Arrêter les services de cassandara

    sudo su -
    systemctl stop datastax-agent
    systemctl stop opscenterd
    systemctl stop app-dse
    
  2. Prenez la sauvegarde et changer le port 9042-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. Démarrer les services Cassandra

    systemctl start datastax-agent
    systemctl start opscenterd
    systemctl start app-dse
    
  4. créer un fichier cqlshrc.

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

Merci, Mahesh

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top