일래스틱서치의 스냅샷 저장 및 복구하기
스냅샷을 정의하고 어느 디렉토리에 저장될지 결정한다.
curl -XPUT 'http://localhost:9200/_snapshot/poi' -d '{
"type": "fs",
"settings": {
"location": "/home/www/backup",
"compress": true
}
}'
제대로 되어 있는지 확인한다.
curl -XGET 'http://localhost:9200/_snapshot/poi?pretty'
정상적인지 검증한다.
curl -XPOST 'http://localhost:9200/_snapshot/poi/_verify'
스냅샷으로 덤프한다. 스냅샷으로 정의된 디렉토리(/home/www/backup)에 덤프된 스냅샾 파일을 볼 수 있다.
curl -XPUT "http://localhost:9200/_snapshot/poi/snap_1?wait_for_completion=true" -d '{
"indices": "poi",
"ignore_unavailable": "true",
"include_global_state": false
}'
wait_for_completion 매개변수가 없으면 비동기로 실행되기 때문에 스냅샷 파일의 완료 시점을 알기 쉽지 않다. 동기 결과를 받기 위해 일부러 사용하는 것이 좋다.
기존 색인을 닫는다.
curl -XPOST http://localhost:9200/poi/_close
만약 기존 색인을 닫지 않으면, 다음과 같은 에러가 발생한다
{"error":"SnapshotRestoreException[[poi:location_poi_20150728] cannot restore index [poi] because it's open]","status":500}
복구(restore)한다.
curl -XPOST "localhost:9200/_snapshot/poi/snap_1/_restore?pretty" -d '{
"indices": "poi",
"ignore_unavailable": "true",
"include_global_state": "false"
}'
* 팁 : 만약 복구할 때, 새로운 이름의 색인으로 변경하려면 다음고 같이 rename_pattern과 rename_replacement를 이용하면 된다. poi라는 색인 대신 aaaaaaaaaaa 라는 색인을 만들 수 있다.
curl -XPOST "localhost:9200/_snapshot/poi/snap_1/_restore?pretty" -d '{
"indices": "poi",
"ignore_unavailable": "true",
"include_global_state": "false",
"rename_pattern": "poi",
"rename_replacement": "aaaaaaaaaaa"
}'
'Elasticsearch' 카테고리의 다른 글
[elasticsearch] raid 0 사용 가능 (0) | 2015.08.04 |
---|---|
[Elasticsearch] snapshot/restore 시 버전 이슈 (0) | 2015.08.01 |
[elasticsearch] JSONP 지원 (0) | 2015.07.27 |
[elasticsearch] alias (색인 별명) (0) | 2015.07.22 |
[elasticsearch] ctx 하위 필드 설명 (0) | 2015.07.20 |