Elastic Search

Module 1~4 실습 내용 보강 (발표 후)

miin1635@ 2023. 8. 7. 13:54
At Module 1.......

 

Q:  클러스터와 노드의 관계성 

 

각 노드마다 role이 정해져 있는 건 알겠다. (노드는 서버 단위로 취급한다, 그리고 하나의 클러스터는 다수의 서버로 바인딩하여 운영된다.) 나는 서버가 제일 큰 단위라고 알고있는데, 그럼 서버보다 더 큰 단위는 무엇인건가?

A : 여기에 대한 답은 서버위에 또 서버가 상주하고 있는 것이라 생각하면 편할 것이다. 애초에 어떠한 단어에 비유를 하려고 하지마라.  가장 큰 단위가 클러스터이다. 

 

Q : 각 노드는 제 마다 역할이 있다. (마스터, 데이터, 인제스트, Tribe 노드로 구분) , 그럼 그 중에서 마스터 노드와 Tribe 노드는 무엇인가?

A :  인제스트 노드는 enrich policy를 적용시키는 노드이다. 마스터 노드는 인덱스의 생성, 삭제, 클러스터의 노드들을 추적 . 관리하고 데이터 입력시 어느 샤드에 할당할지를 결정한다. 데이터 노드는 색인을 생성한 문서가 들어있는 조각이 들어있다. 데이터 노드는 CRUD, 검색 및 집계와 같은 데이터와 관련된 작업들을 처리한다. 따라서 CPU, 메모리, I/O 리소스를 많이 사용하기 때문에 data node의 경우 하드웨어 선택에 신중을 가해야 한다. Tribe node는 여러 클러스터에 참여하는 특별한 node를 의미한다. 참여한 모든 클러스터에서 검색 및 기타 작업을 수행할 수 있다. 

 

Q-1 : 그럼 노드는 Shards를 저장하는 단위인데,  그 안에 enrich_policy 같은 것도 인덱싱 방식으로 생성이 되는건가? 

어떻게 enrich_policy를 적용 시킨다는 것인가?  (모름) ..

 

Q- 2 : 그럼 어떻게 해당 노드들의 역할을 할당해주는가? 

 

A : elasticsearch.yml 파일에 다음과 같은 코드들을 적용시키면 된다. 

node.master: false

node.data :  false 

node.ingest : true. ... 이런 식으로

 

 

 

 

 

 

 

 

 

'Elastic Search' 카테고리의 다른 글

Bool query (must 와 should)  (0) 2023.10.06
ES API 정리 (rare한 것 )  (0) 2023.09.21
나에게 주어진 과제들  (0) 2023.09.15
ES 설치 체크리스트  (0) 2023.09.15
Modue 5~8 실습 내용 보강 (발표 후)  (0) 2023.08.07