2012-10-11 6 views
20

누군가가 ElasticSearch에 대한 최상의 '핫 백업'전략을 공유 할 수 있다면 흥미로울 것입니다.탄성 검색 핫 백업 전략

또한이 문제와 관련된 도구 및 라이브러리를 공유하고 도움을받을 수 있습니다. 업데이트

: 당신의 응답을 당신에게 @javanna 감사, 꽤 완전한 그리고 추가 작업을 위해 좋은 방향을 제공합니다.

나는 또한 작은 연구를했으며 누군가가 관심을 가지고 있다면 도움이 될만한 기사/토론을 발견했습니다. Elasticsearch 1.0이 :

업데이트 (폴 스미스의 의견을 확인도 그는 자신의 tool for verifying indexes에 유용한 링크를 공유) "공식적인"백업 솔루션 - Snapshot/Restore API 그리고 이것 만이 올바른 방법입니다. ElasticSearch는 마스터 샤드를 식별하고 일관성에주의를 기울입니다. 백업은 점진적으로 수행되므로 매우 빠르고 자주 할 수 있습니다.

답변

8

복제본은 일종의 백업이며 elasticsearch는 원래 기본 샤드가있는 동일한 노드에 절대 하나를 할당하지 않습니다. 그러나 클러스터에있는 샤드, 복제본 및 노드의 수에 따라 데이터를 잃을 위험이 있습니다.

인덱스와 클러스터 메타 데이터를 저장할 수있는 Gateway 모듈을 살펴 보겠습니다. 다른 종류의 게이트웨이가 있습니다. 예를 들어 Shared FS을 보면 인덱스와 메타 데이터를 모든 노드간에 공유되는 파일 시스템으로 복사 할 수 있습니다. Gateway Snapshot API을 통해 수동으로 스냅 샷을 시작할 수도 있습니다.

또한 index.translog.disable_flush index setting을 통해 플러시를 사용 중지 한 경우 모든 노드에서 데이터 디렉토리의 복사본을 만들 수 있습니다. 그렇게하면 복사하는 동안 lucene 커밋이 실행되지 않도록합니다. 복사본을 만든 후에는 다시 플러시를 활성화해야합니다.

UPDATE 지역을 제외한

모든 게이트웨이 유형이 사용되지 않으며 향후 버전에서 제거 될 예정입니다. Elasticsearch 1.0은 더 나은 백업 솔루션과 함께 출시 될 예정입니다.

+0

감사합니다. 올바른 방법입니다. – gakhov

+1

'S3 게이트웨이는 더 이상 사용되지 않으며 추후 버전에서 제거 될 예정입니다. 대신 로컬 게이트웨이를 사용하십시오. ' http://www.elasticsearch.org/guide/reference/modules/gateway/s3/ – mikemaccana

+1

@nailer 맞습니다. 답을 업데이트했습니다. 감사 – javanna

-4

이렇게 ElasticSearch가 작동하는 방식에 반대하지만 서로를 인식하지 못하는 2 개의 별도 ElasticSearch 인스턴스가 있다고 생각합니다. 앱 코드에서 모든 명령이 두 인스턴스로 전송됩니다. 명령이 1 인스턴스에 대해 실패하면 1 분 후에 명령을 재 시도하고 재 시도하십시오. 이제 인스턴스 중 하나를 핫 백업으로 유지하거나 두 인스턴스간에 쿼리를로드 균형 조정하여 성능을 향상시킬 수도 있습니다.

ElasticSearch에서 복제본을 설정하는 것이 좋지 않은 이유는 어떤 노드가 어떤 복제본을 가져 오는지 구성하는 것이 어려우므로 앞으로 조직을 재정렬하려는 경우 기본적으로 다음을 수행해야합니다. 농구. ElasticSearch는 무대 뒤에서 다시 균형을 조정하고 모든 것을 당신을 위해 시도합니다. 어느 것이 좋은가 ..당신은 강력한 서버를 가지고 무엇이 무엇을 얻든지 상관하지 않지만 그렇지 않으면 고통이 될 수 있습니다.