nodetool scrub
Rebuilds SSTables for one or more tables.
Creates a snapshot and then rebuilds SSTables on a node. If possible use nodetool upgradesstables instead of scrub.
Scrub automatically discards broken data and removes any tombstoned rows that have exceeded
gc_grace
period of the table. If partition key values do not match the
column data type, the partition is considered corrupt and the process automatically stops.
Synopsis
nodetool main_options scrub [(-j <jobs> | --jobs <jobs>)] \ [(-n | --no-validate)][(-ns | --no-snapshot)] \ [(-s | --skip-corrupted)] \ [--] [<keyspace> <tables>...]
Main options
Short | Long | Description |
---|---|---|
-h |
--host |
Hostname or IP address. |
-p |
--port |
Port number. |
-pwf |
--password-file |
Password file path. |
-pw |
--password |
Password. |
-u |
--username |
Username. |
-- | Separates command parameters from a list of options. |
- If a username and password for RMI authentication are set explicitly in the
cassandra-env.sh file for the host, then you must
specify credentials.The location of the cassandra-env.sh file depends on the type of installation:
Cassandra package installations /etc/cassandra/cassandra-env.sh Cassandra tarball installations install_location/conf/cassandra-env.sh - The repair and rebuild commands can affect multiple nodes in the cluster.
- Most nodetool commands operate on a single node in the cluster if -h is not used to identify one or more other nodes. If the node from which you issue the command is the intended target, you do not need the -h option to identify the target; otherwise, for remote invocation, identify the target node, or nodes, using -h.
nodetool -u username -pw password command command_options
Scrub parameters
Use the following parameters with the scrub
command:
- -j | --jobs jobs
- Number of SSTables to simultaneously scrub. Zero (0) uses all available compaction
threads.
Default: 2.
- -n | --no-validate
- Suppresses validation of columns.
Default: Validate all columns.
- -ns | --no-snapshot
- Suppresses creation of snapshot.
Default: Create a snapshot before rebuilding SSTables.
- --reinsert-overflowed-ttl
- Rewrite SSTables containing rows with overflowed expiration time with the maximum
expiration date of
2038-01-19T03:14:06+00:00
using the original timestamp + 1 (ms). - -s | --skip-corrupted
- Forces scrub to skip corrupt partitions and continue. Corrupt partitions have a column
value that does not match the column data type. Logs skipped partitions in the
system.log
.Default: Stop scrubbing if a corrupted partition is detected.
Note: Skipping corrupted partitions on tables with counter columns results in under-counting. - keyspace_name table_name […]
- Identifies the keyspace and targets specific tables using a space separated
list.
Default: Include all keyspaces and tables on the node when no arguments are specified.