Comment résoudre l'erreur « Impossible de restaurer l'index [.kibana] car il est ouvert » dans Amazon Elasticsearch Service ?

Dernière mise à jour : 04-06-2021

Lorsque j'essaie de restaurer des index à partir d'instantanés manuels dans Amazon Elasticsearch Service (Amazon ES), la restauration échoue avec un message d'erreur similaire à ce qui suit :

{"error":{"root_cause":[{"type":"snapshot_restore_exception","reason":"[repository-name:snapshot-name/1A2B34aZQFWQpFOYYJfxmQ]
 impossible de restaurer l'index [.kibana] car il est 
ouvert"}],"type":"snapshot_restore_exception","reason":"[repository-name:snapshot-name/1A2B34aZQFWQpFOYYJfxmQ]
 impossible de restaurer l'index [.kibana] car il est ouvert"},"status":500}

Solution

Dans les versions Elasticsearch 5.1 et ultérieures, Amazon ES contrôle l'index .kibana et le crée à nouveau s'il est supprimé. Ce comportement peut entraîner l'échec de la restauration.

Pour résoudre ce problème, effectuez les opérations suivantes :

1.    Restaurez les index et renommez l'index .kibana, comme ceci :

# restore indices.   
$ curl -XPOST -H 'Content-Type: application/json' 'https://your-domain-end-point/_snapshot/your-repository-name/your-snapshot-name/_restore' -d '
{
  "indices": "*",
  "ignore_unavailable": true,
  "include_global_state": true,
  "rename_pattern": ".kibana",
  "rename_replacement": "restored_.kibana"
}'

Dans cet exemple, l'index .kibana est renommé « restored_.kibana ».

2.    Utilisez l'opération d'API _reindex pour renommer « restored_.kibana », « .kibana », comme ceci :

# reindex restored_.kibana to .kibana 
$ curl -XPOST -H 'Content-Type: application/json' 'https://your-domain-end-point/_reindex' -d '
{
  "source": {
    "index": "restored_.kibana"
  },
  "dest": {
    "index": ".kibana"
  }
}'

Vous pouvez désormais restaurer vos index à partir d'un instantané manuel.


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?