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

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

haechang.jung님의 프로필 이미지
haechang.jung

작성한 질문수

ElasticSearch Essential

열여섯 번째 강의 - 트러블 슈팅 사례 분석 #4 (샤드 배치 불가)

노드당 샤드수 제한 질문입니다.

작성

·

23

0

안녕하세요

현재 max_shards_per_node가 1400으로 설정되어 있습니다.

그런데 _cat/allocation?v 명령어를 통해 노드당 샤드수를 보면 특정 노드 한개(1번노드)가 1500가까이 할당되어 있는 상황입니다. 현재 롤오버되고 있는 인덱스의 샤드는 정상적으로 1번 노드에 할당되고 있습니다.

 

이런경우는 어떤경우인지 알 수 있을까요?

답변 2

0

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

max_shards_per_node 설정 이슈라기보다는, 특정 노드에 샤드가 몰리는 현상으로 이해했습니다. 맞나요? 😃

전체 샤드가 노드에 얼마나 균등하게 배치되는지는 인덱스별 샤드 개수에 따라 달라지고, 샤드 배치 전략의 영향을 받기 때문에 모든 노드가 비슷한 수의 샤드를 가지지 않을 수도 있습니다. 샤드 밸런싱을 맞추기 위해 샤드가 지속적으로 이동 중일 가능성도 있습니다.

고려해야 할 변수가 많아서 딱 어떤 문제다 라고 말씀드리긴 어렵지만, 우선 인덱스별 샤드 수가 고르게 설정되어 있는지, 각 노드의 저장 공간은 유사한지 등을 확인해 보시면 좋을 것 같습니다.

haechang.jung님의 프로필 이미지
haechang.jung
질문자

max_shards_per_node가 설정되면 무조건 노드에 그 이상의 샤드가 허용되지 않을것이라고 생각했습니다.

물론 shrink/forcemerge를 수행하면서 샤드가 하나의 노드로 모이고 있는 상황이 있긴 합니다. 이런 케이스때문에 샤드가 불균형해지고 max_shards_per_node 이상의 샤드가 노드에 들어가는것이라고 생각하고는 있습니다만 이 경우 max_shards_per_node 이상의 샤드가 노드에 들어간게 문제가 될 여지는 없는지가 궁금합니다.

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

max_shards_per_node 이상의 샤드가 노드에 들어가면 리밸런싱이 일어 나게 됩니다. 그리고 이런 리밸런싱은 CPU를 비롯해 리소스를 많이 사용하기 때문에 전체적인 성능 저하가 발생할 수 있습니다.

제가 추측해 보건데, 만약 리밸런싱이 계속해서 발생하고 있다면 전체 샤드의 수 > max_shards_per_node * 노드 수 의 상황이 아닐까 싶습니다. 그래서 계속해서 리밸런싱이 일어나는 건 아닐까요? 그래서 샤드가 여기로 옮겨 갔다가, max_shards_per_node 설정에 의해 또 다른 노드로 옮겨 갔다가가 반복되는 상황은 아닐까 싶습니다.

0

안녕하세요, 인프런 AI 인턴입니다.
haechang.jung님께서 질문하신 내용은 Elasticsearch에서 노드당 샤드 수가 max_shards_per_node 설정 값을 초과한 경우에 대한 것입니다. 이와 관련하여 참고할 수 있는 질문과 답변을 몇 가지 찾아보았습니다.

관련 질문 및 답변

  1. 여섯번째 강의 - 색인 과정 강의를 들으며

    • 이 질문에서는 Elasticsearch에서의 샤드 최적화에 대해 다루고 있으며, 샤드 배치와 관련된 내용을 설명하고 있습니다. 특히, 인덱스 설정과 관리에 대한 조언이 포함되어 있어 도움이 될 수 있습니다.
  2. 샤드 개수 늘리기

    • 이 질문은 샤드 개수를 늘리는 방법과 그로 인한 시스템 성능 변화에 대해 설명하고 있습니다. 샤드 수가 많은 경우의 문제점 및 관리 방법에 대한 인사이트를 얻을 수 있습니다.

설명

max_shards_per_node는 노드당 허용되는 최대 샤드 수를 정의하지만, 이 설정이 실제 상황에서 엄격하게 적용되지 않는 경우가 발생할 수 있습니다. 이는 다음과 같은 이유에서 비롯될 수 있습니다:

  • 클러스터 상태 변화: 일시적인 클러스터 상태 변화나 노드 장애로 인해 샤드 재배치가 이루어질 때 일시적으로 해당 설정을 넘어설 수 있습니다.
  • 설정 적용 지연: 새로운 설정이 즉각적으로 적용되지 않거나 다른 노드 설정과 충돌할 수 있습니다.
  • 특정 노드에 과도한 부하: 노드 1번에 롤오버 인덱스가 지속적으로 추가되면서 샤드가 몰리는 상황이 발생했을 수 있습니다. 이는 클러스터의 자원 균형 문제일 수 있습니다.

일반적으로, 클러스터 및 샤드 상태를 모니터링하고 필요시 설정 값을 조정하는 것이 중요합니다. 설정 값을 변경한 후에는 클러스터를 재시작하여 설정이 제대로 적용되도록 하는 것이 좋습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

haechang.jung님의 프로필 이미지
haechang.jung

작성한 질문수

질문하기