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

김수민님의 프로필 이미지
김수민

작성한 질문수

ElasticSearch Essential

데이터 노드에 할당되는 인덱스

해결된 질문

작성

·

284

0

안녕하세요, 강의와 책 모두 구매해서 듣고있습니다^^

다름이 아니라, 제가 데이터 노드를 es-data-0~4까지 총 5개 클러스터를 구동하고있는데 인덱스 생성시 4개밖에 할당이 안되더라구요ㅠ

컴포넌트 세팅설정시, number_of_shards는 2개로 주었습니다.

MicrosoftTeams-image (22).png혹시나 해서 cluster.routing.allocation.enable = primaries로 변경후 노드 셧다운 -> 재실행 후 cluster.routing.allocation.enable = null 로 바꾸어 샤드 할당 설정을 활성화 했는데도 똑같이 4개밖에 안되네요.. 5개 모두 할당할 수 있는 방법이 있을까요??

답변 1

0

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

number_of_shards의 값이 2 이고 number_of_replicas의 값은 1 인 것 같습니다. 그렇게 되면 인덱스를 구성하는 샤드가 프라이머리 샤드 2개, 레플리카 샤드 2개 해서 총 4개 이기 때문에 데이터 노드 한 대는 샤드가 없게 되는 게 정상 입니다.

5개의 데이터 노드에 모두 프라이머리 샤드를 배치하고 싶다면 number_of_shards의 값을 5로 설정해야 합니다. 지금같은 경우 number_of_replicas의 값이 1이므로, 총 10개의 샤드가 생성될 거고 그럼 데이터 노드 별로 2개씩 샤드를 가지게 됩니다.

number_of_shrads의 값과 number_of_replicas의 값을 바탕으로 생성되는 전체 샤드 개수를 계산하면 데이터 노드 별로 샤드가 어떻게 배치될지 예측할 수 있습니다.

김수민님의 프로필 이미지
김수민
질문자

감사합니다. 책에서 시나리오 1번에 해당하는 경우라서 각 노드당 2개씩 샤드 배치하는 방법을 추천해주셨네요, number of shards 값을 수정했습니다.

김수민님의 프로필 이미지
김수민

작성한 질문수

질문하기