2016-05-14 1 views
1

Je dois transférer un index Elasticsearch sur une machine Windows vers une machine Ubuntu. J'ai décidé de prendre un instantané de l'index puis d'essayer de le restaurer sur l'autre système.repository_missing_exception capture instantanée et restauration dans Elasticsearch

J'ai réussi à prendre un instantané de l'index sur la machine Windows. Sur la machine Windows dans elasticsearch.yml j'avais path.repo: ["F:\\mount\\backups"].

Ainsi, sous mount j'avais:

. 
└── backups 
    └── old_backup 
     ├── index 
     ├── indices 
     │   └── old_index 
     │    ├── 0 
     │    ├── 1 
     │    ├── 2 
     │    ├── 3 
     │    ├── 4 
     │    └── meta-snapshot_to_ubuntu.dat 
     ├── meta-snapshot_to_ubuntu.dat 
     └── snap-snapshot_to_ubuntu.dat 

snapshot_to_ubuntu est le nom de l'instantané que j'ai fait sur Windows.

J'ai placé cet instantané dans ~/Documents/mount sur la machine ubuntu et démarrer une instance de ES 2.3.0 avec path.repo: ["/home/animesh/Documents/mount/backups"] dans elasticsearch.yml.

je lance ce qui suit sur la ligne de commande:

curl -XGET localhost:9200/_snapshot/old_backup/snapshot_to_ubuntu?pretty=1 

et obtenir

{ 
    "error" : { 
    "root_cause" : [ { 
     "type" : "repository_missing_exception", 
     "reason" : "[old_backup] missing" 
    } ], 
    "type" : "repository_missing_exception", 
    "reason" : "[old_backup] missing" 
    }, 
    "status" : 404 
} 

Où vais-je tort?

MISE À JOUR:

J'ai couru la commande boucle suivante:

curl -X POST http://localhost:9200/_snapshot/old_backup/snapshot_to_ubuntu/_restore 

et je reçois:

{ 
    "error": { 
    "root_cause": [ 
     { 
     "type": "repository_missing_exception", 
     "reason": "[old_backup] missing" 
     } 
    ], 
    "type": "repository_missing_exception", 
    "reason": "[old_backup] missing" 
    }, 
    "status": 404 
} 

Répondre

0
curl -XGET localhost:9200/_snapshot/old_backup/snapshot_to_ubuntu?pretty=1 

Cette commande crée instantané. Parce que vous n'avez pas créé de référentiel côté ubuntu, vous obtenez une erreur.

Ce que vous voulez est de restaurer vous devez donc utiliser _restore point final:

POST /_snapshot/old_backup/snapshot_to_ubuntu/_restore 

Vérifier: https://www.elastic.co/guide/en/elasticsearch/reference/2.3/modules-snapshots.html#_restore

+1

Je mis à jour la question. Cette 'restauration' m'a donné la même erreur –