해결된 질문
작성
·
284
0
안녕하세요, 강의와 책 모두 구매해서 듣고있습니다^^
다름이 아니라, 제가 데이터 노드를 es-data-0~4까지 총 5개 클러스터를 구동하고있는데 인덱스 생성시 4개밖에 할당이 안되더라구요ㅠ
컴포넌트 세팅설정시, number_of_shards는 2개로 주었습니다.
혹시나 해서 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 값을 수정했습니다.