コミット・ログ・アーカイブの構成

Cassandraには、コミット・ログをアーカイブする機能と特定時点(point-in-time)まで復元する機能があります。

Cassandraには、コミット・ログをアーカイブする機能と特定時点(point-in-time)まで復元する機能があります。コミット・ログはノード起動時、コミット・ログがディスクに書き込まれた時、または指定された特定時点(point-in-time)にアーカイブされます。この機能は、commitlog_archiving.properties構成ファイル内で構成します。

commitlog_archiving.propertiesファイルの場所は、インストールのタイプによって異なります。
パッケージ・インストール /etc/cassandra/commitlog_archiving.properties
tarボール・インストール install_location/conf/commitlog_archiving.properties
Windowsインストール C:\Program Files\DataStax Community\apache-cassandra\conf\commitlog_archiving.properties

archive_commandrestore_commandの各コマンドは、引数を持つ1つのコマンドのみを想定しています。パラメーターは、文字通りに入力する必要があります。STDOUTとSTDINまたは複数のコマンドは実行できません。これに対処するには、複数のコマンドをスクリプトで記述して、このファイルを指定することができます。コマンドを無効にするには、そのコマンドを空白にします。

手順

  • コミット・ログ・セグメントのアーカイブ:
    コマンド archive_command=
    パラメーター %path アーカイブするセグメントの完全修飾パス。
    %name コミット・ログの名前。
    archive_command=/bin/ln %path /backup/%name
  • アーカイブされたコミット・ログの復元:
    コマンド restore_command=
    パラメーター %from アーカイブされたコミット・ログ・セグメントのrestore_directoriesからの完全修飾パス。
    %t 使用中のコミット・ログ・ディレクトリーの名前。
    restore_command=cp -f %from %to
  • 復元ディレクトリー場所の設定:
    コマンド restore_directories=
    形式 restore_directories=復元ディレクトリーの場所
  • 指定されたタイムスタンプを含む時刻までに作成されたミューテーションの復元:
    コマンド restore_point_in_time=
    形式 <タイムスタンプ> (YYYY:MM:DD HH:MM:SS)
    restore_point_in_time=2013:12:11 17:00:00
    クライアント指定のタイムスタンプが初めて復元ポイントのタイムスタンプを超えた時点で、復元が停止されます。Cassandraがミューテーションを受け取る順序がタイムスタンプの順序に厳密には対応していないため、一部のミューテーションが復元されない場合もあります。