카테고리 없음
elasticsearch snapshot & restore
cozynow
2021. 1. 9. 16:44
elasticsearch 백업하기
1. 먼저 백업할 폴더를 임의로 지정하고, elasticsearch에서 해당 폴더에서 snapshot을 생성할 수 있도록 설정파일을 변경하자.
###
# 공식 docker 이미지를 사용할때, 위치가 다르다.
#
#### /usr/share/elasticsearch/config/elasticsearch.yml
$ vi /etc/elasticsearch/elasticsearch.yml
#아래 설정을 정보를 추가하자
path.repo: [“/data/dbbackup/elasticsearch”]
2. elasticsearch를 재기동하고 해당 위치를 잘 인식하도록 한다.
$ systemctl restart elasticsearch.service
#docker인경우 host에서 해당 docker를 재기동하자
$ docker restart elasticsearch
3. 쿼리를 날려서 확인하고 백업 실행(*data_backup이라고 한 것을 기억하자)
PUT _snapshot/data_backup
{
"type": "fs",
"settings": {
"location": "/usr/share/elasticsearch/data/snapshot",
"compress": true
}
}
##실행 결과
{
"acknowledged" : true
}
4. snapshot 실행
POST /_snapshot/data_backup/snapshot-20210108/_restore
{
"indices": "*",
"ignore_unavailable": true,
"include_global_state": false
}
5. "snapshot-20210108" 처럼 이름이 생각나지 않을땐, 해당 백업폴더에서 index-0 파일을 열어보면 알 수 있다.
6. restore 상태보기
- 복구시 시간이 오래 걸릴 것 같으면 아래 명령어를 통해서 상태를 볼 수 있다.
GET /_snapshot/data_backup/snapshot-210118/_status