liveBook · Manning

Nodetool

As explained in ScyllaDB in Action

nodetool is a command-line administration and diagnostic utility for inspecting and managing a ScyllaDB or Cassandra node and cluster.

nodetool is ScyllaDB’s command-line utility for inspecting a cluster and performing operator tasks. Run it locally on a node or connect over the network to view nodes, table performance, and cluster state; it can also remove nodes. section 2.1.2

Its most common command is `nodetool status`. The output groups nodes by datacenter and shows each node’s address, load, token count, ownership, host ID, and rack. The two-letter marker combines availability and membership state: `UN` means up and normal. section 2.1.2 section 2.5

Read the status marker as two independent signals:

  • `U` or `D` reports whether a node is up and taking traffic or down and unhealthy. section 2.1.2
  • `N`, `J`, `L`, or `M` reports whether a node is normal, joining, leaving, or moving between datacenters or racks. section 2.1.2

Watch a node join

After starting a new node with a seed node, run `watch nodetool status --resolve-ip` from an existing live node. The new node appears as `UJ` while it joins and receives its assigned data, then becomes `UN` when it is a normal cluster member. section 2.1.3

Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address   Load   Tokens Owns Host ID                              Rack
UN  scylla-1  572 KB 256    ?    75ddfa00-9624-4137-b926-429dff20e516 rack1

Use this status output as a field guide: the header defines the status and state letters, while each row identifies one node and its placement. section 2.1.2

For a Docker-based local cluster, open a shell in the node container with `docker exec -it scylla-1 /bin/bash`, then run nodetool there. This gives a quick operational check when logs are slower to inspect or a node may be unhealthy. section 2.1.2 section 2.1.1

How ScyllaDB in Action covers it

How deep it goes
Explains status output and joining transitions, while deferring broader maintenance commands and production interventions.
Examples
Uses Docker containers scylla-1 through scylla-3 and status outputs showing UJ becoming UN.
What it assumes
Assumes a running ScyllaDB node and uses Docker container shells to run commands locally.
What you can do after
Diagnose/debug with nodetool status by identifying node availability, membership state, and cluster placement.
How it connects
Connects cluster status to datacenters, racks, seed nodes, Docker, and quorum consistency.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of ScyllaDB in Action. The section links point to the parts of the book it draws on.