인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

명사남님의 프로필 이미지
명사남

작성한 질문수

ElasticSearch Essential

여섯 번째 강의 - 색인 과정 이해하기

하루 100GB 로그를 30기간 저장하는 클러스터 예시중 질문이 있습니다.

작성

·

22

0

안녕하세요.

오픈서치 샤드와 노드 구성 관련해서 질문이 있는데요,

강의에서 말씀해주신 예시를 다시 계산해보니 뭔가 안 맞는 것 같아서요.

하루 100GB 로그, 30일 보관, 레플리카 1로 설정했을 때

  • 전체 저장공간: 6,000GB

  • 인덱스별 샤드 최대 크기: 10GB

  • 데이터 노드: 10개

  • 노드당 가져야 할 디스크 크기 : 600GB

이렇게 계산하셨는데, 결국에는 인덱스별 프라이머리 샤드개수가 10개고, replica까지 포함하면 20개니까 실제로는 노드 하나에 샤드 2개(프라이머리+레플리카)씩 들어가고 각 샤드 최대 크기가 10GB라면 노드당 최대 20GB밖에 저장이 안 되는 거 아닌가요?

그럼 하루에 600GB를 저장하려면 샤드 1개당 최대크기가 최소 300GB는 되어야 할 것 같은데... 제가 잘못 이해한 건지 확인 부탁드립니다

답변 2

0

강진우님의 프로필 이미지
강진우
지식공유자

안녕하세요.

하루에 600GB가 쌓이는 게 아니고 하루에 100GB 씩 쌓이는 로그가 30일 보관 되는 예시 입니다. nginx-access-log-2025.01.01 , nginx-access-log-2025.01.02 이런 식으로 하루에 100GB의 로그가 최대 30개까지의 인덱스가 쌓이는 거죠.

그래서 말씀 하신것처럼 매일매일 노드는 20GB 씩 저장공간이 필요하고 30일이니까 노드 당 최소 600GB의 저장공간이 필요해 집니다.

계산은 바르게 된 것 같은데 혹시 더 궁금하신 게 있으실까요~? 😃

 

명사남님의 프로필 이미지
명사남
질문자

답변감사합니다!! 제가 이해를 잘못했네요. 우선 하루 쌓이는 로그양이 레플리카포함해서 200gb 니까 데이터노드는 10개고, 노드하나당 가져가야할 디스크크기는 20gb 인것으로 계산이되는데 그래서 노드당가져가야할 디스크크기는 600gb라고 적어주신게 한달기준인거죠?

강진우님의 프로필 이미지
강진우
지식공유자

네 맞습니다. 한달치 로그가 데이터노드에 저장되어 있어야 하기 때문 입니다~

0

안녕하세요, 인프런 AI 인턴입니다. 명사남님께서 질문하신 내용은 Elasticsearch 클러스터에서 샤드와 노드 구성을 최적화하는 방법에 대한 것입니다. 주어진 조건을 기준으로 계산하는 방법을 다시 살펴보겠습니다.

이해해야 할 개념:

  1. 샤드와 레플리카: 각 데이터는 하나 이상의 프라이머리 샤드와 그것의 레플리카로 이루어집니다. 레플리카는 데이터의 가용성과 안정성을 높이기 위해 사용됩니다.

  2. 저장 공간 계산:

    • 하루 100GB 로그, 30일 보관 시, 총 저장 데이터량은 3,000GB입니다.
    • 레플리카가 1개 설정되어 있으므로, 전체 저장 용량은 6,000GB가 됩니다.
  3. 샤드 최대 크기와 노드당 저장 공간:

    • 인덱스 최대 크기를 10GB로 설정했다면, 레플리카 포함 20개의 샤드가 생성됩니다.
    • 현재 계산에서는 노드당 디스크 크기를 600GB로 할당했으나, 이는 중복 고려가 필요한 부분입니다.

문제 분석 및 정리:

  • 명사남님의 계산에서 노드당 샤드 배치와 저장 용량에 대한 불일치가 발생한 것 같습니다. 실제로 노드당 2개의 샤드(프라이머리+레플리카)를 배치한다고 가정한다면, 노드 하나가 감당할 수 있는 데이터량은 더 작아질 수 있습니다.

  • 노드의 수와 샤드 설계를 고려했을 때, 각 노드에 할당되는 데이터량과 샤드 크기 비율을 재조정하여 시스템 요구사항에 맞추어야 합니다.

상세한 해결 방법:

  • 샤드 크기를 유연하게 증가시키거나, 노드 수를 더 늘리는 방식으로 조정하여 노드가 감당할 수 있는 데이터량을 증가시킬 필요가 있습니다. 예를 들어, 샤드 크기를 30GB로 설정하거나 노드 수를 늘려 노드당 데이터 볼륨을 조정하면 전체 시스템을 효율적으로 운영할 수 있습니다.

  • 또한, ElasticSearch의 Document 참고를 통해 더 구체적인 설정 방법과 권장 사항을 검토하시는 것을 추천드립니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.

현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

명사남님의 프로필 이미지
명사남

작성한 질문수

질문하기