써먹는 웹개발
[Aws Elasticsearch] 6.4에서 7.1로 Data Migration하는 방법 (reindex, 재색인) 본문
Study/Elasticsearch
[Aws Elasticsearch] 6.4에서 7.1로 Data Migration하는 방법 (reindex, 재색인)
kmhan 2021. 6. 15. 20:46728x90
반응형
※ 기존에 스냅샷으로 해보다가 index 상태가 red가 되어 실패한적이 있으니 스냅샷으로 처리하는 방법을 아시는 분은 댓글에 달아주시면 감사하겠습니다.
답) red가 되었을때 아래 글인 reindex로 처리하면 해결됩니다.
스냅샷 반영전 엄청나게 중요한 것
1. 엘라스틱서치 plugin > s3 snapshot을 설치하고 올려야된다.
경로 elasticsearch\bin 명령어 : elaticsearch-plugin install repository-s3 |
2. store.size 기준으로 파악해서 용량 만들어 둘 것
ex) store.size가 25로 3개면 여유 용량 최소 75gb로 생성
Data Migration 방법 중에 내가 썼던 방법은 kibana에서 쓴 reindex(재색인)인데 방법은 1번처럼 하면된다.
1. 6.4버전의 index_name을 7.12에 index_name_bak이라는 명칭으로 복사해옴 (split 안하면 동일한 인덱스명도 상관없음)
※ 6.4버전의 엘라스틱서치의 host를 192.168.1.3으로 설정하고 다른 버전의 엘라스티서치 2개를 동시에 실행하였습니다.
POST _reindex?refresh { "source": { "remote": { "host": "http://192.168.1.3:9200" }, "index": "index_name" }, "dest": { "index": "index_name_bak"} } |
여기부터는 shard split (예시는 5등분)
2. shard를 split하기 위해 읽기전용 상태로 변경
PUT index_name_bak/_settings { "settings": { "index.blocks.write": true } } |
3. 주 샤드의 데이터를 5등분하고 레플리카 샤드도 1개 생성
POST '기존 인덱스명'/_split/'새로운 인덱스명'
POST index_name_bak/_split/index_name { "settings": { "index.number_of_shards": 5, "index.number_of_replicas" : 1 } } |
4. 기존 인덱스명 제거
DELETE index_name_bak |
※ 아마존 엘라스틱서치 7.1버전에 7.12버전 스냅샷을 올렸다가 실패했습니다. 참고하세요.
728x90
반응형
'Study > Elasticsearch' 카테고리의 다른 글
[Aws Elasticsearch] 요금 주의 (0) | 2021.07.03 |
---|---|
[Aws Elasticsearch] Restful 호출하는 2가지 방법 (0) | 2021.06.17 |
[Elasticsearch] 설정을 했는데 kibana(키바나) 실행이 안되는 현상 해결방법 (0) | 2021.06.15 |
[aws] elasticsearch 와 s3 데이터 연동 (0) | 2021.06.05 |
[aws] s3 엔드포인트(endpoint) 값 (0) | 2021.06.04 |
Comments