Comment éliminer l'erreur « cannot restore index [.kibana] because it's open » (impossible de restaurer l'index [.kibana] parce qu'il est ouvert) dans Amazon Elasticsearch Service ?
Date de la dernière mise à jour : 09/01/2020
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]
cannot restore index [.kibana] because it's
open"}],"type":"snapshot_restore_exception","reason":"[repository-name:snapshot-name/1A2B34aZQFWQpFOYYJfxmQ]
cannot restore index [.kibana] because it's open"},"status":500}
Solution
Dans Elasticsearch versions 5.1 et ultérieures, Amazon ES surveille l'index .kibana et le recrée s'il est supprimé. Ce comportement peut entraîner l'échec de la restauration. Pour résoudre ce problème :
1. Exécutez une commande similaire à celle ci-dessous pour restaurer les index et renommer l'index .kibana. Dans cet exemple, l'index .kibana est renommé « restored_.kibana ».
# 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"
}'
2. Utilisez l'opération d'API _reindex pour renommer « restored_.kibana », « .kibana ». Exemple :
# 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 des index à partir d'instantanés manuels.
Informations connexes
Cet article vous a-t-il été utile ?
Cette page peut-elle être améliorée ?
Vous avez besoin d’aide ?