본문 바로가기

IT/Elastic Stack

Elastic search Master Node & Data Node


마스터 노드와 데이터 노드에 대해 알아보자.

 

Elasticsaerch에서 노드의 종류는 마스터 노드와 데이터 노드로 나눌 수 있습니다.

마스터 노드는 index의 메타데이터를 관리하고 노드 내 샤드의 위치와 클러스터의 정보를 관리하는 역할을 수행한다.

 

추가적으로, 마스터 후보 노드가 존재합니다.
마스터 후보 노드들은 마스터 노드는 아니지만, 마스터 노드가 특정 에러나 네트워크 문제로 유실되는 경우,

마스터 노드의 역할을 수행하는 노드로써 마스터 후보 노드의 개수를 설정할 수 있습니다.

데이터 노드들은 실제 데이터를 저장하고 처리하는 역할을 수행하며, 클러스터의 관리 작업으로부터 벗어나 오로지

데이터 처리에만 집중할 수 있다.

마스터 후보 노드의 최소 조건)
- 마스터 후보 노드의 최소 조건이 있는데, 이는 전체 노드 개수의 절반 갯수에 +1을 더한 조건입니다.

수식표현이 다소 복잡할 수 있지만, 홀수개로 존재해야 한다는 말입니다.

짝수개의 경우 발생할 수 있는 문제로 ‘split brain’ 현상이 있는데, 이는 네트워크 문제로 클러스터가 분리되었을 때

마스터 노드의 개수가 같게되어 서로 다른 별개의 클러스터로 인지하게 되어 데이터 처리를 수행하게 되면

데이터 무결성에 치명적인 문제가 발생될 수 있다.

위와 같은 문제를 방지하기 위해 홀수개의 마스터 후보 노드를 설정하여 더 많은 마스터 후보 노드를 가진 클러스터는 활성화되어

데이터를 처리하고 적은 클러스터는 일시정시 상태로 비활성화됩니다.

추후 클러스터가 복구되어 병합되었을 때, 활성화 상태의 클러스터에서만 데이터 갱신이 일어났기 때문에 데이터 충돌 및 무결성을
유지할 수 있게 됩니다.

이러한 노드구성은 Elasticsearch 뿐만이 아닌, 쿠버네티스 및 여러 아키텍처 관점에서 지향하는

클러스터-노드의 기본적인 구성 방식이라 할 수 있습니다.

'IT > Elastic Stack' 카테고리의 다른 글

Elastic search Index & shards  (0) 2023.07.07
Elastic search 클러스터(Cluster)  (0) 2023.07.07
Elastic Stack Data flow  (0) 2023.07.07
Elastic Stack 구성 및 요소별 특징  (0) 2023.07.07
Elastic Stack 소개 및 사용사례  (0) 2023.07.07