Status
ES(ElasticSearch) 에서 status는 현재 클러스터의 상태를 표시합니다.
아래의 명령어로 확인할 수 있습니다.
[suychoi@localhost ~]$ curl -XGET localhost:9200/_cluster/health?pretty=true
🆘curl: (35) SSL received a record that exceeded the maximum permissible length.
이런 오류가 발생한다면, https:// 를 지우고 실행하면 됩니다.
현재 cluster 의 status 는 green 입니다.
Status 종류
green | 모든 샤드가 정상적으로 동작하고 있는 상태로 전체 인덱스에 read/write 가 정상임 |
yellow | 일부 혹은 모든 인덱스의 replica 샤드가 정상적이지 않은 상태, 모든 인덱스에 read/write 가 정상적으로 동작하지만 일부 인덱스의 경우 replica 가 없어서 primary 샤드에 문제가 생기면 유실이 발생할 가능성이 있음을 의미 |
red | 일부 혹은 모든 인덱스의 primary와 replica 샤드가 정상적이지 않은 상태, 일부 혹은 모든 인덱스에 read/write가 정상적으로 안되며, 데이터의 유실이 발생할 가능성이 있다. |
Status 해석
green 과 yellow 는 read/write에는 이상이 없는 상태지만, 성능에는 영향이 있을 수 있다.
replica shard 가 없어서 검색이 느려질 수 있다. (있으면 검색이 빨라짐!)
하지만 red 의 경우 cluster에 장애가 발생했다고 볼 수 있다.
RED Status 가 미치는 영향
1. 장애 현황 파악
- 1)영향을 받는 인덱스를 파악한다
- cat API 중에서 indices API를 활용한다.
curl -s http://localhost:9200/_cat/indices?v
클러스터의 상태가 red 라고 해서 모든 인덱스의 상태가 red가 되는건 아니다.
위 경우 test_2 인덱스는 yellow 이고 test 인덱스는 red 이다.
- 영향받는 shard를 확인한다.
curl -s http://localhost:9200/_cat/shards/test?v
위 경우 test 인덱스의 샤드들 중에서 1번과 3번 샤드들이 UNASSIGNED 상태이다.
이 두개의 primary shard가 노드에 배치가 안되서 클러스터의 상태가 red가 된 것이다.
참고
링크1'Elasticsearch' 카테고리의 다른 글
ES의 기본 API (CRUD) (0) | 2022.03.01 |
---|