마스터 노드
- 노드의 추가 및 삭제를 담당한다.
- 인덱스 생성, 수정, 삭제, 메타데이터를 관리한다.
- 샤드를 할당 및 상태정보를 관리한다.
- 클러스터 상태를 관리한다.
마스터 노드는 다른 노드들을 관장하고 클러스터를 구성하는 노드들의 상태를 정기적으로 점검 한다. 마스터 노드는 동시에 단 한개만 작동 가능하고, 후보 노드를 지정하여 장애시 대응할 수 있다.
#conf/elasticsearch.yml
node.master: true
node.master: true인 경우 마스터 후보노드 설정이 되고, 마스터 노드 선출 정책에 따라 마스터노드로 정해진다.
데이터 노드
물리적인 데이터를 실제로 가지고 있는 노드이다. 마스터 노드로 부터 요청을 받아서 CRUD작업, 검색 및 집계 같은 데이터 관련 작업을 수행하고, 결과 값을 코디네이팅 노드로 보낸다.
#conf/elasticsearch.yml
node.data: true
코디네이팅 노드
기본적으로 모든 노드는 rest api 요청을 처리한다. 하지만 대규모 클러스터인 경우 각자의 역할에 충실하기 위해 rest api요청만 따로 처리하는 코디네이팅 노드를 지정할 수 있다.
- 클라이언트로부터 요청을 받는다.
- 클러스터 관련 요청은 마스터 노드에 전달한다.
- 데이터 관련 요청은 데이터노드에 전달한다.
- 데이터노드로부터 받은 응답값들을 병합처리 하여 클라이언트에게 제공한다.
#conf/elasticsearch.yml
node.master: false
node.data: false
node.ingest: false
인제스트 노드
데이터를 색인 하기 전에 파이프라인 방식으로 전처리 하는 노드이다.
#conf/elasticsearch.yml
node.ingest: false
'Elasticsearch' 카테고리의 다른 글
엘라스틱서치 인덱스 Mapping 과 Properties 정리 (0) | 2023.11.14 |
---|---|
엘라스틱서치 인덱스 Settings (4) | 2023.11.11 |
Elasticsearch Index Template (0) | 2023.11.07 |