[Elasticsearch 실전] 스냅샷 탐색

3743 단어
Elasticsearch 문서에서 snapshot에 대해 다음과 같이 설명합니다. The index snapshot process is incremental. In the process of making the index snapshot Elasticsearch analyses the list of the index files that are already stored in the repository and copies only files that were created or changed since the last snapshot. 여기서 snapshot은 증량 백업이라고 합니다. 매번 snapshot,es는 index 파일을 분석하고 증량 부분만 백업합니다.우리는 문서에서 몇 가지 관점을 얻었다.

1: snapshot은 증량 백업으로 변화가 없는 index 중복 백업에 자원 소모가 거의 없습니다.


2: snapshot을 삭제하면 다른 snapshot에 영향을 주지 않습니다.


다음은 몇 가지 용례를 통해 위의 몇 가지 관점을 검증한다.
  • 단계1: 첫 번째 snapshot_ 만들기1, 백업 인덱스logs-181998
  • curl -XPUT 'localhost:9200/_snapshot/hdfs_repository/snapshot_1?wait_for_completion=true' -d 
    '{
      "indices": "logs-181998",
      "ignore_unavailable": true,
      "include_global_state": false
    }'
    

    보기 소요 시간:
    {
        "snapshot": {
            "snapshot": "snapshot_1",
            "uuid": "cMIZv6WORLOUoY64dHhw8w",
            "version_id": 5040199,
            "version": "5.4.1",
            "indices": [
                "logs-181998"
            ],
            "state": "SUCCESS",
            "start_time": "2017-06-16T06:50:28.869Z",
            "start_time_in_millis": 1497595828869,
            "end_time": "2017-06-16T06:50:46.975Z",
            "end_time_in_millis": 1497595846975,
            "duration_in_millis": 18106,
            "failures": [],
            "shards": {
                "total": 5,
                "failed": 0,
                "successful": 5
            }
        }
    }
    
    "duration_in_millis": 18106, 18106ms, 18초까지 볼 수 있습니다.hdfs 디스크 사용량 보기:
    # bin/hdfs dfs -du -h /user/eoi/elasticsearch
    1.7 G  /user/eoi/elasticsearch/122_123_es-test
    
  • 단계2: 1단계를 반복하여 두 번째 snapshot_ 만들기2, 백업 인덱스와 같은 인덱스logs-181998.직접 보기"duration_in_millis": 287, 287ms, 0.2초.시간이 거의 걸리지 않았다.hdfs 디스크 사용량 보기:
  • # bin/hdfs dfs -du -h /user/eoi/elasticsearch
    1.7 G  /user/eoi/elasticsearch/122_123_es-test
    

    디스크 사용량도 증가하지 않았습니다.

    이 설명: snapshot은 증량 백업으로 변화가 없는 index 중복 백업에 자원 소모가 거의 없습니다.

  • 단계 3: 세 번째 snapshot_ 만들기3, 2개의 인덱스 백업: 인덱스logs-181998과logs-191998.
  • curl -XPUT 'localhost:9200/_snapshot/hdfs_repository/snapshot_3?wait_for_completion=true' -d 
    '{
      "indices": "logs-181998,logs-191998",
      "ignore_unavailable": true,
      "include_global_state": false
    }'
    
  • 주의: 인덱스logs-181998은 이미 3개의 스냅샷에 연결되어 있습니다.
  • 4단계: 첫 번째 snapshot_ 만들기1
  • curl -XDELETE 'localhost:9200/_snapshot/hdfs_repository/snapshot_1
    
  • 단계 5: snapshot_에서3 복원logs-181998
  • curl -XPUT 'localhost:9200/_snapshot/hdfs_repository/snapshot_3/_restore?wait_for_completion=true' -d 
    '{
      "indices": "logs-181998",
      "ignore_unavailable": true,
      "include_global_state": false,
      "rename_pattern": "(.+)",
      "rename_replacement": "restored_$1"
    }'
    

    복원 성공:
    health status index                 uuid                   pri rep docs.count docs.deleted store.size pri.store.size
    green  open   logs-181998           w7gmFSdRQOe52Rk2xUzQLw   5   0    2708736            0      338mb          338mb
    green  open   restored_logs-181998  7dzT8MjsT666Tnzf_bHNgA   5   0    2708735            0      338mb          338mb
    

    이 설명: snapshot을 삭제하면 다른 snapshot에 영향을 주지 않습니다.

    좋은 웹페이지 즐겨찾기