웹사이트 검색

Elasticsearch 클러스터의 백업을 수행하는 방법


이 페이지에서

  1. 전제 조건
  2. 우리가 할 일\n
  3. Elasticsearch 클러스터 구성 확인\n
    1. Node1의 구성
    2. Node2에서 구성
    3. Node3에서 구성

    1. 백업하기\n
    2. 백업 복원

    Elasticsearch에서 백업을 수행하는 메커니즘을 스냅샷이라고 합니다. 스냅샷은 실행 중인 Elasticsearch 클러스터에서 가져온 백업입니다. 애플리케이션의 유지 관리 기간을 피하는 데 도움이 되는 클러스터를 중단할 필요가 없습니다. 개별 인덱스 또는 전체 클러스터의 스냅샷을 찍어 공유 파일 시스템의 저장소에 저장할 수 있습니다.

    Elasticsearch의 스냅샷은 점진적으로 생성됩니다. 즉, 인덱스의 스냅샷을 생성할 때 Elasticsearch는 동일한 인덱스의 이전 스냅샷의 일부로 이미 저장된 데이터를 복사하지 않습니다. 따라서 정기적으로 클러스터의 스냅샷을 찍는 것이 효율적일 수 있습니다.

    같은 방식으로 실행 중인 클러스터의 백업을 수행할 수 있으며 실행 중인 클러스터에 스냅샷을 복원할 수도 있습니다. 인덱스를 복원할 때 복원된 인덱스의 이름과 일부 설정을 변경할 수도 있습니다.

    백업을 만들려면 스냅샷 및 복원 작업을 수행하기 전에 스냅샷 리포지토리를 등록해야 합니다. 클러스터에 대한 공유 파일 시스템 리포지토리를 등록하려면 동일한 공유 파일 시스템을 모든 마스터 및 데이터 노드의 동일한 위치에 마운트해야 합니다. 이 위치는 모든 마스터 및 데이터 노드의 구성 파일에 등록되어야 합니다.

    이 문서에서는 NFS 공유 저장소를 확인하고 스냅샷을 만들고 복원하는 단계를 살펴봅니다.

    전제 조건

    1. 동일한 위치에 있는 Elasticsearch의 3개 노드 모두에 NFS 공유 디렉토리 사용 가능 및 마운트\n
    2. 3개의 Ubuntu 서버에 있는 3개 노드의 Elasticsearch 클러스터.

    우리가 할 일

    1. NFS 서버 설정을 확인합니다.\n
    2. Elasticsearch 클러스터 구성 확인\n
    3. 백업할 저장소를 등록합니다.\n
    4. 백업 및 복원을 수행하십시오.\n

    NFS 서버/클라이언트 설정을 확인합니다.

    이 기사에서는 NFS 설정에 대해 다루지 않으므로 이 기사에서는 다루지 않습니다. 그러나 Elasticsearch를 백업하려면 다음 설정이 필요합니다.

    es-node-1(10.11.10.61)  : NFS Client
    es-node-2(10.11.10.62) : NFS Client
    es-node-3(10.11.10.63) : NFS Client
    NFS Server(10.11.10.64) : NFS Server

    여기,

    NFS 서버가 "/home/ubuntu/shared/” 디렉토리를 Elasticsearch 노드와 공유했습니다.

    모든 Elasticsearch에는 NFS의 공유 디렉터리 \/home/ubuntu/shared/”\/home/ubuntu/mounted”가 있습니다. >. 우리는 모든 디렉터리의 소유권이 Elasticsearch를 시작하는 동일한 사용자에게 속해 있는지 확인해야 합니다.

    이 설정이 완료되면 더 진행할 수 있습니다.

    Elasticsearch 클러스터 구성 확인

    클러스터 모드에서 작동하도록 Elasticsearch를 설정하려면 다음 구성을 수행하십시오.

    여기에서 Elasticsearch 클러스터를 설정했다면 다음 구성을 알고 있어야 합니다.

    기존 Elasticsearch 클러스터 구성과 별도로 Elasticsearch 클러스터 백업을 수행하기 위해 필요한 유일한 구성은 "

    이 모든 구성이 완료되면 모든 Elasticsearch 노드를 시작하고 먼저 초기 마스터를 시작합니다.

    백업을 수행할 리포지토리 등록

    다음 명령을 사용하여 기존 리포지토리를 확인합니다.

    curl -XGET 'http://IP_Of_Elasticsearch_Node_Or_Master:9200/_snapshot/_all?pretty=true'

    빈 응답을 받으면 아직 저장소 설정이 없음을 나타냅니다.

    저장소를 설정하려면 다음 명령을 실행하십시오.

    curl -XPUT 'http://IP_Of_Elasticsearch_Node_Or_Master:9200/_snapshot/my_backup' -d {
    "type": "fs",
    "settings": {
    "location": "/home/ubuntu/mounted",
    "compress": true
    }
    }'

    여기서 위 명령의 \my_backup은 리포지토리의 이름입니다.

    다음 명령을 사용하여 등록된 저장소를 확인할 수 있습니다.

    curl -XGET 'http://IP_Of_Elasticsearch_Node_Or_Master:9200/_snapshot/_all?pretty=true'

    Elasticsearch 클러스터의 백업 및 복원

    백업하기

    리포지토리를 생성하면 백업할 준비가 된 것입니다.

    다음 명령을 사용하여 "snapshot_name”이라는 이름의 백업을 만듭니다.

    curl -XPUT "https://IP_Of_Elasticsearch_Node_Or_Master:9200/_snapshot/my_backup/snapshot_name?wait_for_completion=true"

    백업 복원

    우리가 찍은 스냅샷은 다음 명령을 사용하여 복원할 수 있습니다.

    다음 명령을 사용하여 이름이 "snapshot_name”인 백업을 복원합니다.

    curl -XPOST "http://IP_Of_Elasticsearch_Node_Or_Master:9200/_snapshot/my_backup/snapshot_name/_restore?wait_for_completion=true"

    결론

    이 기사에서는 리포지토리를 등록하고 백업하고 복원하는 단계를 보았습니다.