Elasticsearch 의 snapshot/restore 사용시 버전을 잘 확인해야 한다.


일반적으로 잘 모르니. 동일 버전에서만 사용할텐데, 소스를 보면 잘 알 수 있다.

snapshot한 일래스틱서치 버전이 restore할 일래스틱서치 버전보다 하위이면 에러가 발생한다.


즉 snapshot한 버전이 1.4이고, restore할 버전이 1.5 이면 문제가 되지 않지만,

  snapshot한 버전이 1.5이고, restore할 버전이 1.4 이면 문제가 된다.


자세한 것은 아래 소스를 살펴본다.


https://github.com/elastic/elasticsearch/blob/bfbee383bd2b2e4a928006d1703c22c0a2aae155/core/src/main/java/org/elasticsearch/snapshots/RestoreService.java


 private void validateSnapshotRestorable(SnapshotId snapshotId, Snapshot snapshot) {

        if (!snapshot.state().restorable()) {

            throw new SnapshotRestoreException(snapshotId, "unsupported snapshot state [" + snapshot.state() + "]");

        }

        if (Version.CURRENT.before(snapshot.version())) {

            throw new SnapshotRestoreException(snapshotId, "the snapshot was created with Elasticsearch version [" +

                    snapshot.version() + "] which is higher than the version of this node [" + Version.CURRENT + "]");

        }

    }





참고로 snapshot 파일만 다른 서버로 보내고, 메타데이터 설정만 동기화하면 바로 restore로 복구된다!!!

'Elasticsearch' 카테고리의 다른 글

[elasticsearch] 모니터링 API  (0) 2015.08.05
[elasticsearch] raid 0 사용 가능  (0) 2015.08.04
[Elasticsearch] 스냅샷 저장 및 복구  (0) 2015.07.29
[elasticsearch] JSONP 지원  (0) 2015.07.27
[elasticsearch] alias (색인 별명)  (0) 2015.07.22
Posted by '김용환'
,