Amazon Elasticsearch Service에서 "cannot restore index [.kibana] because it's open" 오류를 해결하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2020년 1월 9일

Amazon Elasticsearch Service(Amazon ES)의 수동 스냅샷에서 인덱스를 복구하려고 하면 다음과 같은 오류 메시지와 함께 복구가 실패합니다.

{"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}

해결 방법

Elasticsearch 버전 5.1 이상에서는 Amazon ES가 .kibana 인덱스를 모니터링하고 삭제된 경우 다시 생성합니다. 이 동작으로 인해 복구가 실패할 수 있습니다. 이 문제를 해결하려면 다음을 수행합니다.

1.    다음과 비슷한 명령을 실행하여 인덱스를 복구하고 .kibana 인덱스로 이름을 변경합니다. 이 예시에서는 .kibana 인덱스가 "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.    _reindex API 작업을 사용하여 "restored_.kibana"를 ".kibana"로 이름을 변경합니다. 예:

# 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"
  }
}'

이제 수동 스냅샷에서 인덱스를 복원할 수 있습니다.


이 문서가 도움이 되었습니까?

AWS에서 개선해야 할 부분이 있습니까?


도움이 필요하십니까?