l'utilisation du port Cassandra - comment sont les ports utilisés?
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?
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:
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:
-
Arrêter les services de cassandara
sudo su - systemctl stop datastax-agent systemctl stop opscenterd systemctl stop app-dse
-
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
-
Démarrer les services Cassandra
systemctl start datastax-agent systemctl start opscenterd systemctl start app-dse
-
créer un fichier cqlshrc.
vi /root/.cassandra/cqlshrc [connection] hostname = 198.168.1.100 port = 9035
Merci, Mahesh