Amazon Elasticsearch Service의 status가 red가 되었을 때의 솔루션

3650 단어 ElasticsearchAWS

Amazon Elasticsearch Service란?



Elasticsearch를 AWS에서 바로 사용할 수 있고 감시용 대시보드도 있다는 좋은 느낌의 서비스입니다.
htps : // / cs. 아 ws. 아마존. 코 m / 그럼 _ jp / 에 s sc rch-se r ゔ ぃ 세 / st / ゔ ぇ ぺ r gu / rch-せ rゔぃ세. HTML

Amazon Elasticsearch Service(Amazon ES)는 AWS 클라우드의 Elasticsearch 클러스터를 손쉽게 배포, 운영 및 확장하는 관리형 서비스입니다.

해결 정책: 문제가 발생한 인덱스 삭제





오류가 발생하면 위에서 설명한 것처럼 매우 명확하게 표시됩니다.

빨간색 상태는 적어도 하나의 기본 샤드(인덱스 파편과 같은 것)와 복제본이 Elasticsearch 노드(프로세스와 같은)에 할당되지 않은 상태입니다. 대부분의 경우 무거운 부하가 발생하고 Elasticsearch 프로세스가 충돌하여 발생합니다.
메모리가 항상 100% 가까이에 붙어 있거나 CPU 사용률이 계속 100%이거나 하고 있으면 깨지기 쉽습니다.

가장 쉬운 해결책은 깨진 샤드가 있는 인덱스를 찾아서 삭제하는 것입니다.

이 때 빨간색 상태를 확인하지 않고도 도메인을 재설정해서는 안됩니다! 문제가 악화되어 매우 번거로운 것 같다…

The important step is to resolve the red cluster status before reconfiguring your Amazon ES domain. Reconfiguring a domain with a red cluster status can compound the problem and lead to the domain being stuck in a configuration state of Processing until you resolve the status.

여기에서는 다음 페이지를 참고로 상태를 확인해 갑니다.
htps : // / cs. 아 ws. 아마존. 이 m/에ぁs치c세아 rchーせrゔぃせ/ぁてst/로ゔぇぺぺr구이데/아에 s은dぃんgー에로 rs. html

원인 샤드에서 문제의 색인 찾기


GET /_cluster/allocation/explain 에서 "current_state": "unassigned" 샤드를 찾을 수 있습니다. 예를 들면 이런 느낌.
curl https://hogehoge.ap-northeast-1.es.amazonaws.com:443/_cluster/allocation/explain

그러면 응답이 반환됩니다. 이 경우 삭제하는 것이 좋은 인덱스는 TestErrorIndex 입니다.
{
"index":"TestErrorIndex",
"shard":1,
"primary":false,
"current_state":"unassigned",
(省略)
}

직접 상태가 빨간색인 인덱스 찾기


GET /_cat/indices?v 에서 모든 인덱스의 상태를 확인할 수 있습니다. 상기에서 「에러가 있는 인덱스」라고 특정되었다고 해도, 이 스테이터스 체크에서는 green 일도 있으므로, 일단 양쪽 모두 해 두는 것이 좋을 것 같습니다.

AWS 기사에서 인용
health status index            uuid                   pri rep docs.count docs.deleted store.size pri.store.size
green  open   test1            30h1EiMvS5uAFr2t5CEVoQ   5   0        820            0       14mb           14mb
green  open   test2            sdIxs_WDT56afFGu5KPbFQ   1   0          0           0       233b           233b
green  open   test3            GGRZp_TBRZuSaZpAGk2pmw   1   1          2            0     14.7kb          7.3kb
red    open   test4            BJxfAErbTtu5HBjIXJV_7A   1   0
green  open   test5            _8C6MIXOSxCqVYicH3jsEA   1   0          7            0     24.3kb         24.3kb

색인 삭제



단순히 삭제하면
curl -XDELETE https://hogehoge.ap-northeast-1.es.amazonaws.com:443/<インデックス名>?pretty=true

에서 실행할 수 있습니다.

아무 것도 지울 수 없는 경우 스냅샷을 복원하고, 인덱스에서 문서를 삭제하고, 인덱스 설정을 변경하거나, 복제본 수를 줄이거나, 불필요한 인덱스를 지워서 디스크 공간을 확보할 수 있습니다. .
도메인을 재설정하지 않도록 조심하세요.

이제 일단 상태가 녹색이 되고, Elasticsearch가 다시 사용할 수 있게 되어 있을 것입니다!

향후 대책



원인은 무거운 처리에 있는 경우가 많기 때문에, Elasticsearch를 이용하고 있는 서비스측을 수정하거나 인스턴스를 올려 돈의 힘을 빌려 갑시다.

좋은 웹페이지 즐겨찾기