[Elasticsearch] 용량 큰 인덱스 reindex 하는 법

v K_Y v·2022년 5월 10일
0

ELK

목록 보기
1/4

어떻게?

  • 리인덱스 전 레플리카의 개수과 refresh_interval 옵션을 주지않고 데이터 이동
  • 리인덱스 완료 후 옵션값 복원

refresh란?

  • ES는 새로운 문서가 들어왔을 때 인덱싱을 하고 그 결과를 세그먼트 단위로 저장, 이때 ES가 세그먼트를 생성하는 것을 refresh라고 함
  • 세그먼트를 생성하는 주기를 refresh_interval이라고 함
## reindex할 인덱스 설정 수정
PUT target-index/_settings
{
  "refresh_interval": "-1",
  "number_of_replicas": "0"
}

## reindex
POST _reindex?wait_for_completion=false 
{
  "source": {
    "index": "source-index"
  },
  "dest": {
    "index": "target-index"
  }
}
** wait_for_completion 옵션 추가 시, 비동기 실행

## 적재 상태 체크
GET target-index/_stats

## Forcemerge
POST target-index/_forcemerge?max_num_segments=1

## Replica와 refresh interval 수정
PUT target-index/_settings
{
  "refresh_interval": "3s",
  "number_of_replicas": "2"
}
profile
📌 기억하기 위해 남기는 기록들

0개의 댓글