ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Elasticsearch의 클러스터, 노드, 샤드, 리플리카의 개념
    DevOps 2025. 3. 25. 08:29
    728x90

    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
Designed by Tistory.