마스터 노드(Master-eligible node)
- 클러스터를 제어하는 노드이며. 인덱스 생성, 삭제, 노드들의 추적, 관리합니다.
- 어떤 노드가 클러스터에 속하는지 추적하고, 샤드를 어떤 노드에 할당할지 결정하는 작업을 담당합니다.
- 마스터 후보로 선택된 노드는 마스터 노드가 될 수 있는 자격이 있다.
- 보통 Split brain 현상을 방지하기 위해서는 홀수개로 있는 것이 중요합니다.
데이터 노드(Data node)
- CRUD, 검색 및 집계와 같은 데이터 관련 작업을 수행합니다.
- 가장 중요한 것은 데이터노드와 마스터노드를 분리하는 것이 중요하다.
- CPU 메모리, I/O 리소스를 많이 사용하기 때문에 data node의 경우는 하드웨어의 리소스가 굉장히 중요하다.
- 보통 데이터노드에서 하나의 샤드는 20gb~ 30gb를 처리할 수 있다고 나와있습니다.
- 적절한 샤드 분배는 엘라스틱서치의 성능을 결정하는 중요한 요소라고 생각합니다.
인제스트 노드(Ingest node)
- 문서를 변환 및 전처리를 담당합니다.
- 인덱싱 전에 문서를 변환하고 보강하기 위해 INGEST 파이프 라인을 문서에 적용합니다.
- 키바나에서 데이터 수집을 위해서는 꼭 필요한 노드이다.(이 부분은 제가 키바나를 구축하는데에 있어서 해당 노드가 있어서 구축되서 일단 적었습니다. 아닌경우 댓글남겨주세요) :)
- 실제 기본적으로 클러스터구축하고 사용하는데 해당노드는 많이 사용을 안했던것 같습니다ㅎㅎ
클라이언트 노드(Coordinating node(Client node))
- 마스터 직무 제외, 데이터 보유하고 문서처리 기능 제외하면 검색요청 및 indexing 요청하는 기능이 남는다. 쉽게말하면, (로드밸런서로 작동하는 것이 CLIENT 노드입니다.)
- 검색 쿼리의 집계, 계산이 포함된 경우 데이터 계산 처리에 필요한 리소스를 coordinating only node의 리소스를 사용하게 되어 각 node들의 역할에 집중할 수 있게 해줍니다.
- 데이터 노드는 클라이언트 노드로부터 요청된 결과값을 1차적으로 보낸 후 두번째 쿼리의 결과값을 보내면 클라이언트노드에서 결과값들을 취합 후 요청 고객에게 전달해줍니다.
현재는 역할이 사라진 노드..(Tribe node)
- 현재 7.x 버전에서는 사용되지 않는 노드입니다. 7.x 버전 이후부터는 CCR이라는 기술이 적용되어서 사용중입니다.
- 다양한 클러스터간 연결하는데에 사용되는 특별한 노드입다.
- 요청에 따라 서로 다른 클러스터에 데이터를 분리해서 보낼 수 있는 기능을 하는 노드입니다.
클러스터 (Cluster)
- Elasticsearch에서 가장 큰 시스템단위이며, 여러개의 노드들을 네트워크적으로 묶는것 입니다.
- 대량의 데이터를 관리하고 효율적으로 사용하기 위해서 필수적입니다.
Split brain
- 주 마스터노드 1대가 있느며, 마스터 후보노드 사이에 네트워크적으로 단절되었을 때 각자의 마스터노들이 "내가 주 마스터 노드야!!!" 라고 하면서 클러스터링 하는 현상입니다.
- 각각의 마스터 후보 노드들이 독립적으로 마스터들이 되어서 클러스터링이 이루어질 수 없는 현상을 말합니다.
- 보통 마스터노드가 짝수개일 때 발생하며, 기존 저장되어있는 노드의 정보와 다를경우에 발생하게 됩니다.
- 해결방법으로는 엘라스틱서치의 데이터 저장경로에서 indices 디렉토리 제외 다 삭제하면 기존 노드에서 가지고 있는 다른 노드들의 정보를 초기화 시켜줌으로써 해결할 수 있습니다.
'Elk Stack > Elasticsearch' 카테고리의 다른 글
[Elasticsearch] 형태소 분석기 Nori 간단 설치 및 적용(1/2) (0) | 2021.08.02 |
---|---|
[Elasticsearch] elasticsearch.yml 파일 세팅 및 필수 세팅 추천 (0) | 2021.07.23 |
[Elasticsearch] path.data 경로 수정 (0) | 2021.07.20 |
[Elasticsearch] 설치(install) 및 삭제(uninstall) (0) | 2021.07.20 |
[Elasticsearch] 기본 이론 (0) | 2021.07.11 |