multi-node로 구성된 cluster의 경우 각 노드별로 repostiory를 구성하면 안되고, 각 노드에서 공유 파일 시스템의 동일한 영역을 볼수 있도록 구성해야 한다.
1) elasticsearch.yml 에 path.repo 설정(각 노드에 동일하게 설정)
path.repo: ["/data/elastic_snapshot "]
2) elastic 재기동
3) elastic에 repository 설정
curl -X PUT "http://localhost:9200/_snapshot/my_backup?pretty" -H 'Content-Type: application/json' -d'
{
"type": "fs",
"settings": {
"location": "/data/elastic_snapshot",
"compress": true
}
}'
4) repository 등록 확인
curl -X GET "http://localhost:9200/_snapshot/_all?pretty"
curl -X GET "http://localhost:9200/_snapshot/my_backup?pretty"
5) Snapshot lifecycle management (SLM)을 이용한 스냅샷 자동 생성: slm policy를 등록
아래는 test-* 패턴의 인덱스에 대하여 매시간 자동으로 스냅샷을 생성하고, 5일간 유지 후 자동으로 삭제되는 slm 정책을 추가한 내용임
curl -X PUT "http://localhost:9200/_slm/policy/hourly-snapshots?pretty" -H 'Content-Type: application/json' -d'
{
"name": "<hourly-snapshot-{now/d{yyyy-MM-dd}}>",
"schedule": "0 0 * * * ?",
"repository": "my_backup",
"config": {
"indices": "test-*",
"ignore_unavailable": true,
"include_global_state": true
},
"retention": {
"expire_after": "5d",
"min_count": 1,
"max_count": 120
}
}
'
6) Snapshot 목록 확인
curl -X GET "http://localhost:9200/_cat/snapshots/my_backup?pretty"
'즐겁게 > elasticsearch-8' 카테고리의 다른 글
Elasticsearch Head 플러그인(Chrome Extension) (0) | 2022.11.06 |
---|---|
Query, SearchRequest를 이용한 검색 (0) | 2022.10.17 |
IndexRequest를 이용한 Document 추가 (0) | 2022.10.10 |
PutIndicesSettingsRequest를 이용한 인덱스 Settings 값 변경 (0) | 2022.10.10 |
DeleteIndexRequest를 이용한 인덱스삭제 (0) | 2022.10.10 |