본문 바로가기

IT/Elastic Stack

Elastic search 클러스터(Cluster)


클러스터(Cluster)란 무엇일까?
- 각기 다른 Server들을 하나로 묶어, 마치 하나의 시스템처럼 동작하도록 함으로써 고가용성 서비스를 제공하는 것을 말한다.

 

Elastic Stack에서는 대용량 Data의 증가에 따라 스케일 아웃과 Data 무결성을 위해 클러스터링 기능을 제공한다.

클러스터 내에는 노드(Node)들이 존재하며, 단 하나의 노드만 존재하더라도 클러스터로 구성되어야 한다.

노드들은 Client와 통신을 위한 http port(9200~9299)와 노드 간 Data 통신을 위한 TCP port(9300~9399)

총 2개의 통신 채널을 오픈하고 있다.
- 동일한 Server의 경우, 노드 증가에 따라 포트번호는 +1씩 증가.

위 그림처럼 같은 클러스터(Cluster)에 위치한 노드들 만이 Data를 서로 교환하고 공유할 수 있으며,

하나의 클러스터로 묶기 위해서는 Cluster.name 이 동일해야 한다.
Cluster.name 이 다른 경우, 논리적으로 다른 클러스터로 판단하여 별개로 실행되어진다.

클러스터 설정 세팅은 ~/config/elasticsearch.yml 파일 수정으로 변경이 가능하며, 실행 커맨드를 이용해서도 가능하다.

또한, 모든 클러스터들은 하나의 Master Node를 포함하는데, 이는 다음 Chapter에서 자세히 다뤄 볼 예정이다.

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

Elastic search Master Node & Data Node  (0) 2023.07.07
Elastic search Index & shards  (0) 2023.07.07
Elastic Stack Data flow  (0) 2023.07.07
Elastic Stack 구성 및 요소별 특징  (0) 2023.07.07
Elastic Stack 소개 및 사용사례  (0) 2023.07.07