Apache Cassandra™ 2.0

Commit log archive configuration

Cassandra provides commitlog archiving and point-in-time recovery.

You configure this feature in the commitlog_archiving.properties configuration file, which is located in the following directories:

  • Cassandra Packaged installs: /etc/cassandra/conf
  • Cassandra Binary installs: install_location/conf
  • DataStax Enterprise Packaged installs: /etc/dse/cassandra
  • DataStax Enterprise Binary installs: install_location/resources/cassandra/conf

The commands archive_command and restore_command expect only a single command with arguments. 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.

Procedure

  • 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 commitlog:
    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_directories=<restore_directory location>
  • 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:00
    Restore 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.