IT TIP

Elasticsearch의 모든 문서 덤프

itqueen 2021. 1. 7. 20:14
반응형

Elasticsearch의 모든 문서 덤프


설정 및 매핑과 함께 인덱스의 모든 데이터를 포함하는 덤프 파일을 만드는 방법이 있습니까?

mongoDB가 mongodump를 사용
하거나 Solr 에서 데이터 폴더가 백업 위치에 복사 되는 것과 유사한 방식 입니다.

건배!


Elasticsearch는 이제이를 즉시 지원합니다.

https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html


다음은 정확히이 목적을 위해 작업해온 새로운 도구입니다 https://github.com/taskrabbit/elasticsearch-dump . 인덱스를 JSON 파일 안팎으로 내보내거나 한 클러스터에서 다른 클러스터로 내보낼 수 있습니다.


ElasticSearch 자체는 데이터 백업 및 복원을 생성하는 방법을 제공합니다. 이를 수행하는 간단한 명령은 다음과 같습니다.

CURL -XPUT 'localhost:9200/_snapshot/<backup_folder name>/<backupname>' -d '{
    "indices": "<index_name>",
    "ignore_unavailable": true,
    "include_global_state": false
}'

이제이 폴더를 생성하는 방법, ElasticSearch 구성에이 폴더 경로를 포함하는 방법, 복원 방법 인 ElasticSearch에 사용할 수 있도록 여기에 잘 설명되어 있습니다 . 실용적인 데모 서핑을 보려면 여기를 클릭하십시오 .


여러 샤드를 가질 수 있으므로 데이터 자체는 하나 이상의 lucene 인덱스입니다. 또한 백업해야하는 것은 클러스터, 사용 가능한 인덱스, 매핑, 구성된 샤드 등에 관한 모든 종류의 정보를 포함하는 클러스터 상태입니다.

그러나 모두 data디렉토리 내에 있지만 복사 할 수 있습니다. 그 구조는 매우 직관적입니다. 복사하기 직전에 자동 플러시를 비활성화하고 (인덱스의 일관된 뷰를 백업하고 파일을 복사하는 동안 쓰기를 방지하기 위해) 수동 플러시를 실행하고 할당도 비활성화하는 것이 좋습니다. 모든 노드에서 디렉토리를 복사해야합니다.

또한 Elasticsearch의 다음 메이저 버전은 증분 스냅 샷을 수행하고 api를 통해 복원 할 수있는 새로운 스냅 샷 / 복원 API를 제공 할 것입니다. 다음은 관련 github 문제입니다 : https://github.com/elasticsearch/elasticsearch/issues/3826 .


http 요청을 통해 Elasticsearch 데이터를 JSON 형식으로 덤프 할 수도 있습니다 : https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-scroll.html
CURL -XPOST 'https://ES/INDEX/_search?scroll=10m'
CURL -XPOST 'https://ES/_search/scroll' -d '{"scroll": "10m", "scroll_id": "ID"}'

참조 URL : https://stackoverflow.com/questions/19243074/dump-all-documents-of-elasticsearch

반응형