Skip to main content

Cassandra operations

v0.4.13

Deep Cassandra ops via nodetool + cqlsh: topology (status, ring, gossip, describering, failure detector), health (tpstats, netstats, proxy + table histograms, compaction stats + history, throughput), schema introspection, maintenance mutators (snapshot, flush, cleanup, verify, compact, stop, throughput, cache invalidation), repair workflows, node lifecycle (drain, decommission, assassinate, removenode, rebuild), and logging level control. JMX on 127.0.0.1:7199.

34 allowed by default 7 need approval by default 4 denied by default
Pack ID
cassandra
Vendor
emisar
OS
linux
Actions
45
Required binaries. Install these on the host before relying on the pack — an action that calls a missing one fails at run time.
nodetool

Install

emisar pack install fetches this pack, re-validates it, and verifies its content hash against the --hash below — the exact bytes this page was rendered against, so a tampered copy is rejected — before copying it into the runner's packs dir. The command reloads a running daemon itself; no manual restart.

on the runner host
sudo emisar pack install cassandra --hash sha256:67ba82c7ded40bb82a69c62ffb24f80b02132bf6523a56af95907df0d0f2ec2f

Actions 45 total

View on GitHub
  • cassandra.analyze_disk_pressure script low

    Analyze Cassandra disk pressure

    Runs a packaged shell script that inspects filesystem usage of the Cassandra data and commitlog directories. Read-only. Use as a first step when disk pressure is suspected. Output is human-readable; do not parse it.

    View source on GitHub
  • cassandra.cqlsh_describe_keyspace exec low

    cqlsh -e "DESCRIBE KEYSPACE <ks>"

    Show the full DDL for one keyspace (tables, types, indexes, materialized views).

    View source on GitHub
  • cassandra.cqlsh_describe_schema exec low

    cqlsh -e "DESCRIBE SCHEMA"

    Dump the full schema as CQL. Note: large clusters produce big output; rely on the byte cap.

    View source on GitHub
  • cassandra.cqlsh_list_keyspaces exec low

    cqlsh -e "DESCRIBE KEYSPACES"

    List all keyspaces.

    View source on GitHub
  • cassandra.cqlsh_list_roles exec low

    cqlsh -e "LIST ROLES"

    List all roles + their grants (requires CassandraAuthorizer/Authenticator).

    View source on GitHub
  • cassandra.cqlsh_system_peers exec low

    SELECT * FROM system.peers_v2

    List the peer nodes as this coordinator sees them: dc, rack, schema version, tokens.

    View source on GitHub
  • cassandra.cqlsh_system_size_estimates exec low

    SELECT * FROM system.size_estimates

    Show per-table partition + size estimates from the gossiped size_estimates table.

    View source on GitHub
  • cassandra.nodetool_assassinate exec critical

    nodetool assassinate <address>

    Forcibly removes a dead node from gossip without streaming data. ONLY use when the node is permanently gone AND removenode failed. Risks: orphaned data, hint bleed, token misownership.

    View source on GitHub
  • cassandra.nodetool_cleanup exec high

    nodetool cleanup [ks]

    Removes data no longer owned by this node (after a topology change). IO-heavy.

    View source on GitHub
  • cassandra.nodetool_clearsnapshot exec high

    nodetool clearsnapshot -t <name>

    Deletes one snapshot tag from all keyspaces. Frees disk that was pinned by the snapshot.

    View source on GitHub
  • cassandra.nodetool_compact exec high

    nodetool compact <ks> [table]

    Forces major compaction. For STCS this merges everything into one big SSTable — almost always a mistake. Prefer per-token-range compaction or letting the strategy run.

    View source on GitHub
  • cassandra.nodetool_compactionhistory exec low

    nodetool compactionhistory

    List the last few compactions with bytes-in/out, duration, and dropped tombstones.

    View source on GitHub
  • cassandra.nodetool_compactionstats exec low

    Cassandra compaction statistics

    Runs `nodetool compactionstats`. Pending compactions in the dozens-to-hundreds indicate the node is behind. Triggering repair on a node already behind on compactions usually makes things worse — wait for the queue to drain before recommending repair.

    View source on GitHub
  • cassandra.nodetool_decommission exec critical

    nodetool decommission

    Streams this node's data to other replicas, then leaves the ring. NOT reversible without re-bootstrapping.

    View source on GitHub
  • cassandra.nodetool_describecluster exec low

    nodetool describecluster

    Show the cluster name, partitioner, snitch, and schema versions per host. Schema disagreement here is a sign of partial DDL propagation.

    View source on GitHub
  • cassandra.nodetool_describering exec low

    nodetool describering <keyspace>

    Show token range → replica endpoint mapping for one keyspace.

    View source on GitHub
  • cassandra.nodetool_drain exec critical

    nodetool drain

    Stops accepting writes, flushes memtables, persists commit log positions. Node is unusable until restart.

    View source on GitHub
  • cassandra.nodetool_failuredetector exec low

    nodetool failuredetector

    Show phi accrual failure detector scores per peer. Phi > 8 ≈ marked down.

    View source on GitHub
  • cassandra.nodetool_flush exec high

    nodetool flush [ks] [table]

    Forces memtable → SSTable flush. Without args: all keyspaces. Brief IO spike + writeahead replay simplification.

    View source on GitHub
  • cassandra.nodetool_getcompactionthroughput exec low

    nodetool getcompactionthroughput

    Show the current compaction throughput cap (MB/s; 0 = unlimited).

    View source on GitHub
  • cassandra.nodetool_getconcurrentcompactors exec low

    nodetool getconcurrentcompactors

    Show the current concurrent_compactors setting.

    View source on GitHub
  • cassandra.nodetool_getendpoints exec low

    nodetool getendpoints <ks> <table> <key>

    Show which replicas own a specific partition key. Use to confirm read/write routing.

    View source on GitHub
  • cassandra.nodetool_getlogginglevels exec low

    nodetool getlogginglevels

    Show the current per-logger levels.

    View source on GitHub
  • cassandra.nodetool_gossipinfo exec low

    nodetool gossipinfo

    Show per-peer gossip state — schema version, status, load, dc, rack, generation.

    View source on GitHub
  • cassandra.nodetool_info exec low

    nodetool info

    Show this node: uptime, heap, load, exceptions, key+row+counter cache hit rates.

    View source on GitHub
  • cassandra.nodetool_invalidatecountercache exec medium

    nodetool invalidatecountercache

    Drops the counter cache.

    View source on GitHub
  • cassandra.nodetool_invalidatekeycache exec medium

    nodetool invalidatekeycache

    Drops the key cache. Reads pay cold-cache cost until it warms.

    View source on GitHub
  • cassandra.nodetool_invalidaterowcache exec medium

    nodetool invalidaterowcache

    Drops the row cache.

    View source on GitHub
  • cassandra.nodetool_listsnapshots exec low

    nodetool listsnapshots

    List all snapshots on this node with size + creation timestamp.

    View source on GitHub
  • cassandra.nodetool_netstats exec low

    nodetool netstats

    Show streaming + read repair stats: completed/pending bytes, files transferred, pool stats.

    View source on GitHub
  • cassandra.nodetool_proxyhistograms exec low

    nodetool proxyhistograms

    Show coordinator-side read/write latency histograms — what clients actually see.

    View source on GitHub
  • cassandra.nodetool_rebuild exec high

    nodetool rebuild [source_dc]

    Re-bootstraps a node by streaming from another DC (or any DC if unspecified). Use after expanding into a new DC.

    View source on GitHub
  • cassandra.nodetool_removenode exec critical

    nodetool removenode <host-id>

    Removes a down node from the cluster and streams its data from other replicas. Preferred over assassinate when there's quorum.

    View source on GitHub
  • cassandra.nodetool_repair exec high

    Cassandra repair

    Wraps `nodetool repair`. The most dangerous "normal" operation — repair reconciles data between replicas, can take hours, produces significant cluster-wide load, may interact poorly with TTL/tombstone-heavy tables, and can worsen latency on every replica it touches. Always inspect ring status, compactions, disk, and logs first. Prefer mode=preview — a dry run that estimates the repair without performing it (requires Cassandra 4.0+) — before a real repair. Refuse to proceed if the ring has DN/UJ/UL/UM nodes.

    View source on GitHub
  • cassandra.nodetool_ring exec low

    nodetool ring [keyspace]

    Show the token ring with owner host per token.

    View source on GitHub
  • cassandra.nodetool_setcompactionthroughput exec medium

    nodetool setcompactionthroughput <MB/s>

    Sets max compaction throughput. 0 = unlimited (use carefully).

    View source on GitHub
  • cassandra.nodetool_setlogginglevel exec medium

    nodetool setlogginglevel <logger> <level>

    Sets one logger's level. Use empty logger to reset all to the configured defaults.

    View source on GitHub
  • cassandra.nodetool_snapshot exec medium

    nodetool snapshot -t <name> [ks]

    Atomic hard-link snapshot of SSTables. Cheap to take, expensive if left around.

    View source on GitHub
  • cassandra.nodetool_status exec low

    Cassandra node ring status

    Runs `nodetool status`. Read-only — does not change Cassandra state. Use this before suggesting repair, cleanup, decommission, replacement, or topology changes. If any node is DN/UJ/UL/UM, do not recommend repair until the failure mode is understood.

    View source on GitHub
  • cassandra.nodetool_stop_compaction exec high

    nodetool stop <operation>

    Stops in-flight operations of one type (COMPACTION, CLEANUP, VERIFY, etc).

    View source on GitHub
  • cassandra.nodetool_tablehistograms exec low

    nodetool tablehistograms <ks> <table>

    Show local-node read/write/sstable/partition-size histograms for one table.

    View source on GitHub
  • cassandra.nodetool_tablestats exec low

    Cassandra table stats

    Runs `nodetool tablestats`, optionally scoped to a single keyspace. Read-only. Output can be large for clusters with many tables. Use to identify tables with large sstable counts or large on-disk size — repairs on very large or tombstone-heavy tables are risky and worth surfacing before a repair recommendation.

    View source on GitHub
  • cassandra.nodetool_tpstats exec low

    Cassandra thread pool stats

    Runs `nodetool tpstats` for active/pending/blocked counts per pool. High pending or blocked counts on MutationStage, CompactionExecutor, or ReadStage usually indicate ongoing pressure — investigate the cause before recommending operations that add load (repair, large reads, compaction tuning).

    View source on GitHub
  • cassandra.nodetool_verify exec medium

    nodetool verify [ks] [table]

    Verifies SSTable checksums for one (or all) tables. Detects on-disk corruption.

    View source on GitHub
  • cassandra.nodetool_version exec low

    nodetool version

    Show the Cassandra version string for the node.

    View source on GitHub