Cassandra provides commit log archiving and point-in-time recovery.
Cassandra provides commit log archiving and point-in-time recovery. The commit log is archived at node startup and when a commit log is written to disk, or at a specified point-in-time. You configure this feature in the commitlog_archiving.properties configuration file, which is located in the following directories:
- Cassandra package installations: /etc/cassandra
- Cassandra tarball installations: install_location/conf
- DataStax Enterprise package installations: /etc/dse/cassandra
- DataStax Enterprise tarball installations: install_location/resources/cassandra/conf
The commands archive_command and restore_command expect only a single command with arguments. The parameters must be entered verbatim. STDOUT and STDIN or multiple commands cannot be executed. To workaround, you can script multiple commands and add a pointer to this file. To disable a command, leave it blank.
Archive a commitlog segment:
Command archive_command= Parameters %path Fully qualified path of the segment to archive. %name Name of the commit log. Example archive_command=/bin/ln %path /backup/%name
Restore an archived commit log:
Command restore_command= Parameters %from Fully qualified path of the an archived commitlog segment from the restore_directories. %to Name of live commit log directory. Example restore_command=cp -f %from %to
Set the restore directory location:
Command restore_directories= Format
Restore mutations created up to and including the specified timestamp:
Command restore_point_in_time= Format <timestamp> (YYYY:MM:DD HH:MM:SS) Example restore_point_in_time=2013:12:11 17:00:00Restore stops when the first client-supplied timestamp is greater than the restore point timestamp. Because the order in which Cassandra receives mutations does not strictly follow the timestamp order, this can leave some mutations unrecovered.