본문 바로가기
기타

확장 성 및 복원력 : 클러스터, 노드 및 샤드

2020. 12. 20.
반응형

확장 성 및 복원력 : 클러스터, 노드 및 샤드

Elasticsearch는 항상 사용 가능하고 필요에 따라 확장 할 수 있도록 구축되었습니다. 이것은 자연적으로 배포 됨으로써 이루어집니다. 클러스터에 서버 (노드)를 추가하여 용량을 늘릴 수 있으며 Elasticsearch는 사용 가능한 모든 노드에 데이터 및 쿼리로드를 자동으로 분산합니다. 애플리케이션을 정밀 검사 할 필요가없는 Elasticsearch는 확장 성과 고 가용성을 제공하기 위해 다중 노드 클러스터의 균형을 맞추는 방법을 알고 있습니다. 노드가 많을수록 더 즐겁습니다.

어떻게 작동합니까? 내부적으로 Elasticsearch 인덱스는 실제로 하나 이상의 물리적 샤드의 논리적 그룹이며 각 샤드는 실제로 자체 포함 된 인덱스입니다. 인덱스의 문서를 여러 샤드에 분산하고 이러한 샤드를 여러 노드에 분산함으로써 Elasticsearch는 중복성을 보장 할 수 있습니다.이 두 가지 모두 하드웨어 장애로부터 보호하고 노드가 클러스터에 추가 될 때 쿼리 용량을 증가시킵니다. 클러스터가 확장 (또는 축소)되면 Elasticsearch는 자동으로 샤드를 마이그레이션하여 클러스터를 재조정합니다.

샤드에는 기본 및 복제본의 두 가지 유형이 있습니다. 인덱스의 각 문서는 하나의 기본 샤드에 속합니다. 복제본 샤드는 기본 샤드의 복사본입니다. 복제본은 데이터의 중복 사본을 제공하여 하드웨어 장애로부터 보호하고 문서 검색 또는 검색과 같은 읽기 요청을 처리 할 수있는 용량을 증가시킵니다.

인덱스의 기본 샤드 수는 인덱스가 생성 될 때 고정되지만 복제본 샤드 수는 인덱싱 또는 쿼리 작업을 중단하지 않고 언제든지 변경할 수 있습니다.

상황에 따라 

샤드 크기 및 인덱스에 대해 구성된 기본 샤드 수와 관련하여 성능 고려 사항과 트레이드 오프가 많이 있습니다. 샤드가 많을수록 해당 인덱스를 유지하는 데 더 많은 오버 헤드가 발생합니다. 샤드 크기가 클수록 Elasticsearch가 클러스터를 재조정해야 할 때 샤드를 이동하는 데 더 오래 걸립니다.

작은 샤드를 많이 쿼리하면 샤드 당 처리 속도가 빨라지지만 쿼리가 많을수록 오버 헤드가 증가하므로 적은 수의 큰 샤드를 쿼리하는 것이 더 빠를 수 있습니다. 요컨대…

시작점으로 :

  • 평균 샤드 크기를 몇 GB에서 수십 GB 사이로 유지하는 것을 목표로합니다. 시간 기반 데이터가있는 사용 사례의 경우 20GB ~ ​​40GB 범위의 샤드를 보는 것이 일반적입니다.
  • 무수한 샤드 문제를 피하십시오. 노드가 보유 할 수있는 샤드 수는 사용 가능한 힙 공간에 비례합니다. 일반적으로 힙 공간 GB 당 샤드 수는 20 개 미만이어야합니다.

사용 사례에 대한 최적의 구성을 결정하는 가장 좋은 방법은 자체 데이터 및 쿼리로 테스트하는 것 입니다.

재해 발생시

성능상의 이유로 클러스터 내의 노드는 동일한 네트워크에 있어야합니다. 서로 다른 데이터 센터의 노드간에 클러스터의 샤드 균형을 맞추는 데 너무 오래 걸립니다. 그러나 고 가용성 아키텍처에서는 모든 계란을 한 바구니에 넣지 않아야합니다. 한 위치에서 중대한 중단이 발생하는 경우 다른 위치에있는 서버가 인계받을 수 있어야합니다. 원활하게. 대답? CCR (클러스터 간 복제).

CCR은 기본 클러스터의 인덱스를 핫 백업으로 사용할 수있는 보조 원격 클러스터로 자동으로 동기화하는 방법을 제공합니다. 기본 클러스터가 실패하면 보조 클러스터가 인계받을 수 있습니다. 또한 CCR을 사용하여 보조 클러스터를 생성하여 지리적 근접성에서 사용자에게 읽기 요청을 제공 할 수 있습니다.

클러스터 간 복제는 활성-수동입니다. 기본 클러스터의 인덱스는 활성 리더 인덱스이며 모든 쓰기 요청을 처리합니다. 보조 클러스터에 복제 된 인덱스는 읽기 전용 팔로워입니다.

관리 및 수유

모든 엔터프라이즈 시스템과 마찬가지로 Elasticsearch 클러스터를 보호, 관리 및 모니터링하기위한 도구가 필요합니다. Elasticsearch에 통합 된 보안, 모니터링 및 관리 기능을 통해 Kibana 를 클러스터 관리를위한 제어 센터로 사용할 수 있습니다 . 데이터 롤업  인덱스 수명주기 관리  같은 기능을 통해 시간이 지남에 따라 데이터를 지능적으로 관리 할 수 ​​있습니다.

 

반응형

'기타' 카테고리의 다른 글

조정 노드의 요청 수준 회로 차단기  (0) 2020.12.20
7.10의 새로운 기능  (0) 2020.12.20
정보 출력 : 검색 및 분석  (0) 2020.12.20
데이터 : 문서 및 색인  (0) 2020.12.20
Elasticsearch 란 무엇입니까?  (0) 2020.12.20

댓글