Cluster membership can look fine from the service manager while Apache Cassandra still sees a node as down, leaving, joining, or moving. nodetool status reads the local node's view of the ring so an operator can confirm which nodes are ready before maintenance, repair, or application handoff.
The first two letters in each node row carry the status check. The first letter is U or D for up or down, and the second letter is N, L, J, or M for normal, leaving, joining, or moving. UN is the expected steady-state signal for a serving node that has joined the ring.
The Owns (effective) column depends on the keyspace replication strategy, so use the application keyspace when ownership distribution matters. In large clusters or during network faults, run the command from more than one Cassandra node because each node reports its own gossip view.
$ nodetool status Datacenter: datacenter1 ======================= Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Tokens Owns (effective) Host ID Rack UN 10.0.0.11 114.73 KiB 16 100.0% 8f4f6e2d-9f74-4f5a-a85f-43df5d4fcb21 rack1
nodetool uses the local Cassandra JMX listener by default. Put global JMX options before the command name when checking another node, such as nodetool --host 10.0.0.12 --port 7199 status.
D means the node is down from this node's view. L, J, and M mean the node is leaving, joining, or moving rather than fully normal.
$ nodetool --host 10.0.0.12 --port 7199 status
Different nodes can report different up or down views while gossip is converging or a network partition is present.
$ nodetool status app_data Datacenter: datacenter1 ======================= Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Tokens Owns (effective) Host ID Rack UN 10.0.0.11 104.36 KiB 16 100.0% 8f4f6e2d-9f74-4f5a-a85f-43df5d4fcb21 rack1
Replace app_data with the keyspace whose replication factor and datacenter placement need to be checked.
$ nodetool --print-port status Datacenter: datacenter1 ======================= Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Tokens Owns (effective) Host ID Rack UN 10.0.0.11:7000 114.73 KiB 16 100.0% 8f4f6e2d-9f74-4f5a-a85f-43df5d4fcb21 rack1
--print-port is a global nodetool option, so it appears before status.
$ nodetool statusgossip running
If gossip is not running, inspect the Cassandra service and logs before trusting the ring view.
Related: How to check Apache Cassandra service status
Related: How to view Apache Cassandra logs