19
24

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

よく使うElasticSearchのクエリ(スナップショット)

Last updated at Posted at 2017-10-28

ElasticSearchは、マニュアル(英語)がしっかりしてるので、そっちを参考にしてください。
マニュアル(本家):https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html

環境

  • CentOS 7.1
  • ElasticSearch 5.6.2

    ※ElasticSearch 6.xでは、curlに「 -H 'Content-Type: application/json'」を付ける必要があります。

目次

スナップショット

snapshotを使う前に、事前準備を行ってください。
また、backupしたsnapshot自体をリストアするときも同様な手順が必要です。

■ 事前準備

1)snapshot用のディレクトリを作成

所有者と所有グループはelasticsearchユーザ、elasticsearchグループを指定する。

コマンド
sudo -s mkdir /var/www/backup/elasticsearch
sudo -s chown -R elasticsearch:elasticsearch /var/www/backup/elasticsearch

2)elasticsearch.ymlにpath.repoを登録する

コマンド
sudo -s vi /etc/elasticsearch/elasticsearch.yml

      path.repo: ["/var/www/backup/elasticsearch"]

3)elasticsearch再起動

※環境は、CentOS7。

コマンド
sudo -s systemctl restart elasticsearch

4)Elasticsearchにリポジトリを登録

今回はサブディレクトリとしてsnapshot1を指定している。

elasticsearch
curl -XPUT 'http://localhost:9200/_snapshot/snapshot1' -d '{
    "type": "fs",
    "settings": {
        "location": "/var/www/backup/elasticsearch/snapshot1",
        "compress": true
    }
}'

■ snapshot作成

elasticsearch
curl -XPUT 'http://localhost:9200/_snapshot/snapshot1/snapshot-2017.10.27?wait_for_completion=true' -d '{
    "indices": "hoge_index",
    "ignore_unavailable": true,
    "include_global_state": false
}'

■ snapshotのリストア

elasticsearch
curl -XPOST 'http://localhost:9200/_snapshot/snapshot1/snapshot-2017.10.27/_restore?wait_for_completion=true' -d '{
    "indices": "hoge_index"
}'

■ snapshotリポジトリのリストを表示

elasticsearch
curl -XGET 'http://localhost:9200/_snapshot/'

■ snapshot1に登録されているsnapshotのリストを表示する

elasticsearch
curl -XGET 'http://localhost:9200/_snapshot/snapshot1/*'

■ snapshotの削除

elasticsearch
curl -XDELETE 'http://localhost:9200/_snapshot/snapshot1/snapshot-2017.10.27'

■ snapshotリポジトリの削除

snapshotリポジトリを削除する前に、snapshotを削除してからリポジトリを削除してください。

elasticsearch
curl -XDELETE 'http://localhost:9200/_snapshot/snapshot1'

参考

19
24
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
24

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?