Cassandra port usage - how are the ports used?
When experimenting with Cassandra I've observed that Cassandra listens to the following ports:
- 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
How does Cassandra use each of the ports listed?
@Schildmeijer is largely right, however port 7001 is still used when using TLS Encrypted Internode communication
So my complete list would be for current versions of Cassandra:
- 7199 - JMX (was 8080 pre Cassandra 0.8.xx)
- 7000 - Internode communication (not used if TLS enabled)
- 7001 - TLS Internode communication (used if TLS enabled)
- 9160 - Thrift client API
- 9042 - CQL native transport port
For Apache Cassandra 2.0 you need to take into account the following TCP ports: (See EC2 security group configuration and Apache Cassandra FAQ)
Cassandra
- 7199 JMX monitoring port
-
1024 - 65355 Random port required by JMX. Starting with Java 7u4 a specific port can be specified using the
com.sun.management.jmxremote.rmi.port
property. - 7000 Inter-node cluster
- 7001 SSL inter-node cluster
- 9042 CQL Native Transport Port
- 9160 Thrift
DataStax OpsCenter
- 61620 opscenterd daemon
- 61621 Agent
- 8888 Website
Architecture
A possible architecture with Cassandra + OpsCenter on EC2 could look like this:
8080 - JMX (remote)
8888 - Remote debugger (removed in 0.6.0)
7000 - Used internal by Cassandra
(7001 - Obsolete, removed in 0.6.0. Used for membership communication, aka gossip)
9160 - Thrift client API
Cassandra FAQ What ports does Cassandra use?
JMX now uses port 7199 instead of port 8080 (as of Cassandra 0.8.xx).
This is configurable in your cassandra-env.sh file, but the default is 7199.