티스토리 뷰

ElasticSearch 클러스터(Cluster)란?

클러스터는 하나 이상의 노드가 모인 것으로 모든 노드를 포괄하는 통합 색인화 및 검색 기능을 제공합니다.

클러스터는 고유한 이름으로 식별되며 노드가 클러스터에 포함되기 위해서는 이름에 의해 클러스터의 구성원이 되도록 설정되기 때문입니다.
동일한 클러스터 이름을 서로 다른 환경에서 사용할 경우 노드가 잘못된 클러스터에 포함될 수 있으므로 주의가 필요합니다.

고유한 클러스터 이름을 가진 독립적인 클러스터를 여러 개 둘 수도 있습니다.

 

노드(Node)란?

ElasticSearch를 구성하기 위한 하나의 인스턴스를 말합니다.

노드는 클러스터 이름을 통해 어떤 클러스터의 일부로 구성될 수 있으며, 하나의 클러스터에서 원하는 개수의 노드를 포함할 수 있습니다.

노드의 종류는 다음과 같습니다.

 

  • Master Node
    • 클러스터를 관리하는 노드로 인덱스를 생성, 삭제하는 등 클러스터와 관련된 전반적인 작업을 담당
    • 다수의 노드를 설정할 수 있지만 하나의 노드만 선출되어 동작
  • Data Node
    • 문서(Document)가 저장되는 노드로 검색과 통계 같은 데이터 관련 작업 수행
    • 컴퓨터 리소스를 많이 소모하기 때문에 마스터와 분리해서 구성하는 것을 권장
  • Ingest Node
    • 문서(Document)의 전처리 작업을 담당
    • 인덱스 생성 전 문서의 데이터 포맷을 변경하기 위해 스크립트로 전처리 파이프라인 구성하고 실행할 수 있습니다.
  • Coordinate Node
    • 들어온 요청을 받아서 마스터 노드에 전달하고 데이터 관련 요청은 데이터 노드에 전달하는 역할
    • 라운드 로빈(Round Robin, RR) 방식으로 분산
    • 검색이나 집계 시 분산 처리만을 목적

 

클라이언트와 통신을 위한 http 포트(9200 ~ 9299)
노드 간의 데이터 교환을 위한 tcp 포트 (9300~9399)

 

여러 서버에 클러스터 구성
여러 서버에 클러스터 구성도
 

 

단일 서버에 클러스터 구성

단일 서버에 클러스터 구성도

 

ElasticSearch Directory

Directory 경로

 


 

댓글
최근에 올라온 글
TAG
more
글 보관함
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30