-
Elasticsearch의 클러스터, 노드, 샤드, 리플리카의 개념DevOps 2025. 3. 25. 08:29728x90
Elasticsearch는 수평 확장을 염두에 둔 분산 검색 엔진이기 때문에, 클러스터, 노드, 샤드, 리플리카라는 핵심 개념을 기반으로 동작합니다. 각 개념은 다음과 같습니다:
1. 클러스터 (Cluster)
- 정의: 하나 이상의 노드가 모여 구성된 Elasticsearch 시스템 전체.
- 특징: 클러스터 이름이 동일한 노드끼리 자동으로 클러스터를 구성함.
- 역할: 데이터 분산, 쿼리 분산 처리, 장애 복구 등을 자동으로 수행.
2. 노드 (Node)
- 정의: Elasticsearch가 설치되어 실행 중인 단일 서버 (물리적 또는 가상 머신).
- 역할:
- 데이터 저장 및 검색 요청 처리
- Master Node / Data Node / Ingest Node 등 역할 분리 가능
- 예시: 클러스터가 3개 노드로 구성되어 있을 수 있음.
3. 샤드 (Shard)
- 정의: 하나의 인덱스를 여러 조각으로 나눈 기본 단위의 분산 단위.
- 종류:
- Primary Shard: 데이터를 처음 저장하는 샤드
- Replica Shard: Primary의 복제본
- 필요성:
- 대용량 데이터 분산 저장 가능
- 여러 노드에 분산되어 병렬 검색 가능 → 성능 향상
4. 리플리카 (Replica)
- 정의: Primary Shard의 복제본
- 역할:
- 장애 대응: Primary Shard가 죽었을 때 Replica가 승격됨
- 읽기 성능 향상: 검색 요청을 Primary와 Replica가 분산 처리
- 주의점: Primary와 동일한 노드에 배치되지 않도록 자동 조정됨
📦 Cluster: my-es-cluster ├── 🖥️ Node 1 (Data Node) │ ├── 🔵 Shard 0 (Primary) │ └── 🟢 Shard 2 (Replica) ├── 🖥️ Node 2 (Data Node) │ ├── 🔵 Shard 1 (Primary) │ └── 🟢 Shard 0 (Replica) ├── 🖥️ Node 3 (Data Node) │ ├── 🔵 Shard 2 (Primary) │ └── 🟢 Shard 1 (Replica)
개념 설명 매핑
기호설명📦 Cluster 하나의 논리적 Elasticsearch 인스턴스 집합 🖥️ Node 클러스터를 구성하는 단일 서버 🔵 Primary Shard 데이터를 최초로 저장하는 기본 샤드 🟢 Replica Shard Primary의 복제본 (읽기/장애 대응) 728x90'DevOps' 카테고리의 다른 글
NLB의 Proxy Protocol (0) 2025.03.27 robots.txt 개념 (0) 2025.03.26 Elasticsearch와 OpenSearch의 차이점 (0) 2025.03.25 DATABASE에서 쿼리가 수행되는 전체 과정 (0) 2025.03.25 ElasticSearch vs. OpenSearch (0) 2025.03.23