share facebook facebook2 twitter menu hatena pocket slack

2014.10.10 FRI

Elasticsearch スナップショット 5 分で取得する

川原 洋平

WRITTEN BY川原 洋平

どうも、かっぱ@inokara)です。さくっと纏めました。(データ量によっては 5 分で取得出来ないので注意しましょう)

参考

準備

バックアップ用ディレクトリ作成

cd /path/to/dir
sudo mkdir -p elasticsearch/snapshot
sudo chown -R elasticsearch:elasticsearch elasticsearch

スナップショットを保存するディレクトリのオーナーとグループは elasticsearch にしておきましょう。

リポジトリの作成

curl -XPUT 'http://localhost:9200/_snapshot/snapshot' -d '{
    "type": "fs",
    "settings": {
        "location": "/path/to/elasticsearch/snapshot",
        "compress": true
    }
}'

スナップショットの取得

curl -XPUT "localhost:9200/_snapshot/snapshot/snapshot_1?pretty&wait_for_completion=true" -d '{
    "indices": "test_index",
    "ignore_unavailable": "true",
    "include_global_state": false
}'

スナップショットの確認

curl -XGET "localhost:9200/_snapshot/snapshot/_all?pretty"

レストア

異なる名前でレストア

curl -XPOST "localhost:9200/_snapshot/snapshot/snapshot_1/_restore?pretty" -d '{
    "indices": "test_index",
    "ignore_unavailable": "true",
    "include_global_state": false,
    "rename_pattern": "test_index",
    "rename_replacement": "restored_test_index"
}'

同一名でレストア

curl -XPOST "localhost:9200/_snapshot/snapshot/snapshot_1/_restore?pretty" -d '{
    "indices": "test_index",
    "ignore_unavailable": "true",
    "include_global_state": false
}'

簡単です

ね!

元記事はこちらです。
Elasticsearch スナップショット 5 分で取得する