22
0
Fork 0
wiki/HowtoElasticsearch.md

15 KiB

{ "backup" : { "type" : "fs", "settings" : { "compress" : "true", "location" : "/home/backup-elasticsearch" } } }


Supprimer les infos sur le répertoire des snapshots :

$ curl -s -XDELETE "localhost:9200/_snapshot/backup?pretty"


{"acknowledged":true}


Créer un snapshot :

$ curl -s -XPUT "localhost:9200/_snapshot/backup/snapshot_test?wait_for_completion=true" $ ls -l /home/backup-elasticsearch -rw-r--r-- 1 elasticsearch elasticsearch 34 Apr 11 01:35 index drwxr-xr-x 22 elasticsearch elasticsearch 4096 Apr 11 01:35 indices -rw-r--r-- 1 elasticsearch elasticsearch 3006 Apr 11 01:35 metadata-snapshot_test -rw-r--r-- 1 elasticsearch elasticsearch 419 Apr 11 01:35 snapshot-snapshot_test


Supprimer un snapshot :

$ curl -s -XDELETE "localhost:9200/_snapshot/backup/snapshot_test"


Si l'on tente de créer un snapshot déjà existant, on obtiendra :

{"error":"InvalidsnapshotNameException[[backup:snapshot_test] Invalid snapshot name [snapshot_test], snapshot with such name already exists]","status":400}


Lister les snapshots :

$ curl -XGET "localhost:9200/_snapshot/backup/_all?pretty=true"


"snapshots" : [ { "snapshot" : "snapshot_201403190415", "indices" : [...], "state" : "SUCCESS", "start_time" : "2014-03-19T03:15:03.380Z", "start_time_in_millis" : 1395198903380, "end_time" : "2014-03-19T03:16:33.381Z", "end_time_in_millis" : 1395198993381, "duration_in_millis" : 90001, ... "snapshot" : "snapshot_201403201222", "indices" : [...], "state" : "SUCCESS", "start_time" : "2014-03-20T11:22:07.441Z", "start_time_in_millis" : 1395314527441, "end_time" : "2014-03-20T11:22:56.176Z", "end_time_in_millis" : 1395314576176, "duration_in_millis" : 48735, "failures" : [ ], "shards" : { "total" : 86, "failed" : 0, "successful" : 86


Pour faire des backups on pourra utiliser un script comme celui-ci :

Clean old snapshots (keep 10 snaps).

cd /home/backup-elasticsearch for i in $(ls -1d snapshot-* | head -n -10 | sed s'/snapshot-snapshot_//g'); do curl -s -XDELETE "localhost:9200/snapshot/backup/snaps hot${i}"; done

Take a snapshot on master node.

date=$(date +%Y-%m-%d) curl -s -XDELETE "localhost:9200/snapshot/backup/snapshot${date}" | grep -v acknowledged..true curl -s -XPUT "localhost:9200/snapshot/backup/snapshot${date}?wait_for_completion=true" -o /tmp/es_snapshot_${date}.log


## FAQ

### Erreur "failed to map segment from shared object: Operation not permitted"

Si vous obtenez une erreur du type :

[2016-06-15 14:53:05,714][WARN ][bootstrap ] unable to load JNA native support library, native methods will be disabled. java.lang.UnsatisfiedLinkError: /tmp/jna--1985354563/jna3461912487982682933.tmp: /tmp/jna--1985354563/jna3461912487982682933.tmp: failed to map segment from shared object: Operation not permitted


C'est peut-être que vous avez votre partition `/tmp` en _noexec_, il faut alors changer le chemin comme indiqué sur [#configuration-de-base]()