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

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

작성한 질문수

ElasticSearch Essential

인덱스 일별 생성에 대한 질문

해결된 질문

작성

·

262

·

수정됨

0

안녕하세요, 강의와 책 모두 구매해서 잘듣고있습니다. 추가 질문사항이 있어서 다시 글 작성해봅니다..

인덱스 템플릿을 생성했고 setting, mappin 템플릿을 만들어 두개의 component template을 조합해서 logs라는 템플릿을 생성했습니다. 제가 원하는 인덱스는 logs-2023.05.28-000001 logs-2023.05.29-000002 logs-2023.05.29-000003( 50기가 넘어가면 같은 날짜라도 인덱스 만들어지고 뒤에 숫자 증가) 이런 모양을 기대했는데요, 

 

mapping은 다이나믹 템플릿으로 필드를 매핑시켰고, setting에서는 rollover_alias를 logs로 주었고 템플릿을 생성할때 index_patterns는 logs*로 주었습니다. policy에서도 hot으로 max_promary shard size 50기가 설정했구요

다 만들고나서 아래와같이 아래와 같이 첫 인덱스를 주었습니다. 생성은 logs-2023.05.29-00001 이렇게 원하는대로 우선 생성되긴했습니다.

PUT %3Clogs-%7Bnow%2Fd%7D-000001%3E

{

  "aliases": {

    "logs": {

      "is_write_index": true

    }

  }

}

그런데 다음날 보니 인덱스는 생성되지 않고 저 인덱스에 계속 쌓이더라구요...또 뭐 추가할 사항이 있을까요..??감사합니다.

답변 2

0

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

@강진우 선생님,

제가 잘 모르는 상태에서 질문을 자꾸 남겨서 죄송합니다^^;;;

책이랑 강의를 다시 보면서 확인해보니, 해결 되었습니다.

데이터 노드 5개에 모든 샤드 할당을 하려면 당연히 primary갯수를 5개로 지정해야되고

롤오버정책으로 max_promary shard size 를 50기가 설정해서 한 노드당 2개씩 할당되는 샤드의 사이즈가 20기가씩 40기가, 토탈 200개가가 되면 새로운 인덱스가 생성하는게 당연했습니다. 그 사이즈가 다 차지도 않았는데 저는 utc 기준으로 날짜가 변하면 무조건 인덱스가 새로 생성되는줄알았습니다.

답변 달아주셔서 감사합니다

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

아~ 해결 되셨다니 다행이네요. 앞으로도 어려움을 겪는 것들 편하게 물어보셔도 됩니다. ㅎㅎ

즐겁고 행복한 엔지니어링 생활 하세요~

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

감사합니다 선생님,

근데 혹시 max shard size를 50기가로 설정해 한 인덱스당 20기가씩, 5개의 데이터 노드에 할당해서 인덱스 하나 당 총 200기가를 토탈로 정해서 운영하고있는데, 샤드 size가 아닌 토탈 인덱스 사이즈도 성능에 문제가 될까요? 제가 생각했을때는 샤드 사이즈가 중요하지 인덱스 총 사이즈는 문제될게 없다고 생각해서요

image

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

네 말씀하신 것처럼 샤드의 개수, 크기만 노드 별로 적절하게 분산된다면 인덱스의 총 크기는 크게 걱정하지 않아도 됩니다.

실제로 제가 운영했을 때도 일 단위 로그 수집이 TB 까지 가는 경우도 많았습니다.

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

답변 감사합니다^^ 도움이 많이 되었습니다

0

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

이건 저도 테스트를 좀 해보면서 확인을 해야 할 것 같습니다. 답변을 기다리실 것 같아서 미리 달아 둡니다.

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

네 감사합니다. 혹시 책에서 부록 B 스냅샷 생성과 복원하기 s3에 하는 부분 따라하고있는데, 해당 작업을 master 노드 한 군데에서만 진행하면 되나요? master 3대, data 5대 띄우고있는데 뭔가 스냅샷은 data node 5대에서 전부 진행해야될것같아서요

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

아닙니다. 모든 동작은 클러스터 단위로 동작하기 때문에 데이터 노드 5대에서 스냅샷을 생성한다 라는 개념은 없고, 스냅샷 생성을 위한 API 호출을 한 번만 아무곳에서나 하면 됩니다. 그럼 스냅샷의 대상이 되는 인덱스에 있는 모든 데이터에 대한 스냅샷이 생성 됩니다.

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

작성한 질문수

질문하기