Amazon OpenSearch Service 클러스터에서 균일하지 않은 샤드 배포를 리밸런싱하려면 어떻게 해야 하나요?

3분 분량
0

Amazon OpenSearch Service 도메인의 디스크 공간이 노드 전체에 균일하게 배포되지 않았습니다. 그 결과 디스크 사용량이 크게 편향됩니다.

간략한 설명

디스크 사용량이 크게 편향될 수 있는 이유는 다음과 같습니다.

  • 클러스터의 불균일한 샤드 크기. OpenSearch Service는 노드 간에 샤드 수를 균일하게 배포하지만 샤드 크기가 다를 경우 필요한 디스크 공간이 달라집니다.
  • 노드의 사용 가능한 디스크 공간. 자세한 내용은 Elasticsearch 웹 사이트에서 디스크 기반 샤드 할당을 참조하세요.
  • 잘못된 샤드 할당 전략. 자세한 내용은 OpenSearch Service 샤드 할당 이해를 참조하세요.

OpenSearch Service 클러스터에서 샤드 할당을 재분배하려면 다음 접근 방식을 고려하세요.

  • 샤드 할당, 샤드 크기 및 인덱스 샤딩 전략을 확인합니다.
  • 샤드 크기는 인덱스 전체에서 같아야 합니다.
  • 성능 향상을 위해 샤드 크기를 10GB~50GB 사이로 유지합니다.
  • OpenSearch Service 클러스터에 데이터 노드를 추가합니다.
  • 샤딩 전략을 업데이트합니다.
  • 이전 인덱스나 사용되지 않은 인덱스를 삭제하여 디스크 공간을 확보합니다.

해결 방법

샤드 할당, 샤드 크기 및 인덱스 샤딩 전략 확인

각 노드에 할당된 샤드 수와 각 노드에서 사용된 디스크 공간의 양을 확인하려면 다음 API를 사용합니다.

GET _cat/allocation?v

각 노드에 할당된 샤드와 각 샤드의 크기를 확인하려면 다음 API를 사용합니다.

GET _cat/shards?v

참고: 이 API는 인덱스에 따라 샤드 크기가 다를 수 있음을 보여줍니다.

인덱스에 대한 불균일한 샤딩 전략은 데이터 왜곡을 초래할 수 있습니다. 이 경우 더 큰 인덱스의 샤드는 몇 개의 노드에만 상주합니다. 인덱스에 대한 샤딩 전략을 확인하려면 다음 API를 사용하세요.

GET _cat/indices?v

인덱스 전체의 샤드 크기가 같은지 확인

인덱스 크기가 크게 다른 경우 특정 인덱스 크기에 도달하면 rollover index API를 사용하여 새 인덱스를 생성합니다. 또는 인덱스 상태 관리(ISM)를 사용하여 OpenSearch Service 버전 7.1 이상에 대한 새 인덱스를 생성할 수 있습니다. ISM을 사용하여 별칭을 롤링하는 방법에 대한 자세한 내용은 Open Distro 웹 사이트에서 rollover를 참조하세요.

성능 향상을 위해 샤드 크기를 10GB~50GB 사이로 유지

대규모 인스턴스 클래스가 있는 경우 Amazon OpenSearch Service용 페타바이트 규모를 사용하여 샤드 크기를 결정합니다. 예를 들어 여러 i3.16xlarge.search 인스턴스가 있는 OpenSearch Service 도메인에서는 더 많은 리소스를 사용할 수 있으므로 최대 100GB의 샤드 크기를 지원할 수 있습니다. 샤딩 전략에 대한 자세한 내용은 샤드 수 선택을 참조하세요.

OpenSearch Service 클러스터에 데이터 노드 추가

OpenSearch Service 클러스터의 디스크 사용량이 높아지면 클러스터에 데이터 노드를 추가합니다. 데이터 노드를 추가하면 더 많은 리소스가 추가되므로 클러스터 성능이 개선될 수 있습니다.

참고: 사용 가능한 스토리지 공간이 부족한 경우 OpenSearch Service가 클러스터를 자동으로 재분배하지 않습니다. 따라서 데이터 노드에 사용하지 않은 스토리지 공간이 부족하면 클러스터가 모든 쓰기를 차단합니다. 디스크 공간 관리에 대한 자세한 내용은 Amazon OpenSearch Service 도메인의 스토리지 공간 부족 문제를 해결하려면 어떻게 해야 합니까?를 참조하세요.

샤딩 전략 업데이트

기본적으로 Amazon OpenSearch Service는 각 인덱스를 5개의 기본 샤드로 나누는 5:1 샤딩 전략을 사용합니다. 각 인덱스 내의 각 기본 샤드에는 자체 복제본도 있습니다. OpenSearch Service는 별도의 데이터 노드에 기본 샤드 및 복제본 샤드를 자동으로 할당하여 장애가 발생할 경우 백업이 가능하도록 합니다.

OpenSearch Service 기본 동작을 수정하려면 샤드가 크기에 따라 균일하게 배포되도록 인덱스를 설계합니다.

  • 기존 인덱스의 경우 reindex API를 사용하여 기본 샤드 수를 변경합니다. _reindex API를 사용하면 작은 인덱스를 큰 인덱스로 병합하거나 큰 인덱스를 분할할 수 있습니다. 큰 인덱스를 더 많은 기본 샤드로 분할하면 샤드 크기가 줄어듭니다.
  • 새 인덱스의 경우 index template API를 사용하여 기본 샤드 및 복제본 샤드 수를 정의합니다.

그런 다음 샤드에 대한 인덱스 설정을 업데이트합니다. 자세한 내용은 Elasticsearch 웹 사이트에서 index settings API 업데이트를 참조하세요.

이전 인덱스 또는 사용되지 않은 인덱스를 삭제하여 디스크 공간 확보

OpenSearch Service 또는 Elasticsearch 버전 6.8 이상은 ISM을 지원합니다. ISM을 사용하면 설정된 기간 후에 이전 인덱스 또는 사용되지 않은 인덱스를 삭제하도록 사용자 지정 관리 정책을 정의할 수 있습니다.


관련 정보

Calculating storage requirements(스토리지 계산 요구 사항)

Amazon OpenSearch Service 시작하기: 필요한 샤드의 수

AWS 공식
AWS 공식업데이트됨 일 년 전