ノードの再起動方法

スナップショットを復元する手順。この方法を使用する場合は、ノードをシャットダウンして起動する必要があります。

1つのノードを復元する場合、まずそのノードをシャットダウンする必要があります。クラスター全体を復元する場合は、すべてのノードをシャットダウンして、スナップショット・データを復元してから、もう一度すべてのノードを起動する必要があります。

注: スナップショットおよびインクリメンタル・バックアップからの復元により、復元されるノード上で集中的なCPUおよびI/Oアクティビティが一時的に発生します。
commitlogディレクトリーの場所は、インストールのタイプによって異なります。
パッケージ・インストール /var/lib/cassandra/commitlog
tarボール・インストール install_location/data/commitlog
Windowsインストール C:\Program Files\DataStax Community\data\data\commitlog

手順

  1. ノードをシャットダウンします。
  2. commitlogディレクトリーのファイルをすべて消去します。

    これにより、コミット・ログのリプレイでデータが戻されることがなくなります。データが戻されると、特定の時点までデータを復元するという目的が台無しになります。

  3. 以下のディレクトリーの*.dbファイルをすべて消去します。data_directory/keyspace_name/keyspace_name-keyspace_name ディレクトリー。ただし、以下のサブディレクトリーは削除しないでくださいスナップショットおよびバックアップサブディレクトリー。
    ここで、データ・ディレクトリーは、
    • パッケージ・インストール:/var/lib/cassandra/data
    • tarボール・インストール:install_location/data/data
  4. 以下のディレクトリーにある最新のスナップショット・フォルダーを見つけてください。

    データ・ディレクトリー/キースペース名/テーブル名-UUID/snapshots/スナップショット名

  5. その内容を以下のディレクトリーにコピーします。

    データ・ディレクトリー/キースペース名/テーブル名-UUIDディレクトリー

  6. インクリメンタル・バックアップを使用している場合は、以下のディレクトリーのすべての内容をコピーしてください。

    データ・ディレクトリー/キースペース名/テーブル名-UUID/backups

  7. 以下のディレクトリーに貼り付けます。

    データ・ディレクトリー/キースペース名/テーブル名-UUID

  8. ノードを再起動します。

    再起動により、I/Oアクティビティの一時的なバーストが発生し、大量のCPUリソースが使用されます。

  9. nodetool repairを実行します。