내용으로 건너뛰기

OpenSearch Service 클러스터에서 고르지 않은 샤드 분포를 재조정하려면 어떻게 해야 합니까?

3분 분량
0

Amazon OpenSearch Service 도메인의 디스크 공간이 노드 전체에 고르지 않게 분포되어 있습니다. 따라서 디스크 사용량이 크게 왜곡됩니다.

간략한 설명

다음과 같은 이유로 디스크 사용량이 크게 왜곡될 수 있습니다.

  • 클러스터에서 균일하지 않은 샤드 크기. OpenSearch Service는 샤드 수를 노드 전체에 균등하게 분배하지만 샤드 크기가 다르면 필요한 디스크 공간의 양도 달라집니다.
  • 노드에서 사용 가능한 디스크 공간. 자세한 내용은 Elasticsearch 웹사이트에서 디스크 기반 샤드 할당 설정을 참조하십시오.
  • 잘못된 샤드 할당 전략.

OpenSearch Service 클러스터의 샤드 할당을 재조정하려면 하나 이상의 해결 방법을 완료하십시오.

해결 방법

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

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

GET _cat/allocation?v

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

GET _cat/shards?v

참고: 위의 API 출력은 샤드의 크기가 인덱스마다 다를 수 있는지 여부를 보여줍니다.

인덱스에 대한 불균일한 샤딩 전략은 데이터 왜곡을 야기할 수 있습니다. 인덱스의 샤딩 전략을 확인하려면 다음 API를 실행하십시오.

GET _cat/indices?v

인덱스 전체에서 샤드 크기가 동일한지 확인

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

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

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

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

OpenSearch Service 클러스터의 디스크 사용량이 높은 경우 클러스터에 데이터 노드를 더 추가하십시오. 또한 데이터 노드를 추가하면 더 많은 리소스가 추가되어 클러스터 성능이 향상됩니다.

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

샤딩 전략 업데이트

기본적으로 OpenSearch Service는 각 인덱스를 5개의 기본 샤드로 나누는 5:1의 샤딩 전략을 사용합니다. 각 인덱스 내의 각 기본 샤드에도 복제본이 있습니다. OpenSearch Service는 자동으로 기본 샤드와 복제본 샤드를 별도의 데이터 노드에 할당하고 장애 발생 시 백업이 있는지 확인합니다.

OpenSearch Service의 기본 동작을 수정하려면 샤드가 크기별로 균등하게 분배되도록 인덱스를 설계하십시오.

기존 인덱스의 경우 reindex API를 사용하여 기본 샤드 수를 변경합니다. 자세한 내용은 Elastic 웹사이트에서 Reindex 문서를 참조하십시오. reindex API는 작은 인덱스를 더 큰 인덱스로 병합하거나 큰 인덱스를 분할할 수 있습니다. 더 큰 인덱스를 더 많은 기본 샤드로 분할하면 샤드 크기가 줄어듭니다.

새 인덱스의 경우 인덱스 템플릿 API를 사용하여 기본 샤드와 복제본 샤드의 수를 정의합니다. 자세한 내용은 Elastic 웹사이트에서 인덱스 템플릿 생성 또는 업데이트를 참조하십시오.

그런 다음, 샤드의 인덱스 설정을 업데이트합니다. 자세한 내용은 Elastic 웹사이트에서 인덱스 설정 업데이트를 참조하십시오.

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

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

관련 정보

스토리지 요구 사항 계산

Amazon Elasticsearch Service 시작하기: 샤드는 몇 개나 필요한가요?

AWS 공식업데이트됨 일 년 전