Elstic Search = ES -> 방대한 API와 ES 아키텍처 보유
1. ES API 호출 방법
Restful API로 호출. 리눅스에서는 curl요청을 해도 되고, Postman 툴로 HTTP 요청해도 됨
-> 저는 Postman 사용하겠습니다.
2. Cluster health 체크 - 클러스터 정보
Cluster란 ES에서 가장 큰 시스템 단위를 말하며, node들의 집합.
ES 설치 후, Cluster와 노드는 각 1개씩 존재.
위의 요청을 보냄으로써 관련 내용 확인 가능
3. Cluster Status
+status
나 같은 경우, 위에 보면 green으로 잘 나옴을 알 수 있다.
뒤에 v를 붙여야 각 컬럼에 대한 컬럼명을 확인할 수 있다.
보통 primary 당 replica가 1개 존재하는데,
replica가 unassigned일 경우가 있다고 한다.
// cat API - indeces / shards
http://localhost:9200/_cat/shards?v
위의 링크로 요청을 보내면
index와 shards의 정보를 조회할 수 있다.
shards를 통해 replica가 어디에 배정되어있는지 확인할 수 있다.
replica는 primary와 같은 노드 상에 있을 수 없다.(Elastic Search #1 참고)
그래서 하나의 노드가 실행중이므로 replica를 배정할 수 없을 것이다.
이렇게 배정이 되지 않으면 yellow가 뜬다고 한다.
# curl -XPUT 'localhost:9200/_settings?pretty' -d '{"index":{"number_of_replicas": 0}}' -H 'Content-Type: application/json'
때문에 replica를 갖지 않도록 클러스터 setting을 수정해서 green 상태로 바꿀 수 있다.
_cluster/health를 확인해보면 green이 되었음을 알 수 있다.
-> 이 방법은 좋은 방법은 아니다. master node가 1개밖에 없을 때에는 괜찮지만
data node가 추가되어 클러스터를 구성해야된다면 replica shard가 노드마다 할당되는 것이 고가용성에 좋다.
replica가 0으로 세팅된다면 안정성이 떨어지는 아키텍처가 된다.
4. Cluster 구성 이해하기
- 클러스터는 여러 노드의 집합으로 구성되며 설치 시 master node만 존재
- primary shard는 데이터를 저장할 때 나눠진 파티션을 말하며, 설치 시 5개 존재
- replica shard는 고가용성을 위해 존재하는 primary shard의 복제본을 말하며, 설치시 1개가 존재
- primary와 replica는 같은 노드에 존재할 수 X
'백엔드' 카테고리의 다른 글
[스파르타코딩클럽]웹개발의 봄, Spring 1주차 개발일지 (0) | 2021.09.10 |
---|---|
Elastic Search#3 (0) | 2021.06.01 |
[macOS]Elastic Search 설치(brew) (0) | 2021.05.30 |
Elastic Search#1 (0) | 2021.05.29 |
구글 로그인 api 준비단계 (0) | 2021.03.04 |