Comment déplacer des données Elasticsearch d'un serveur à un autre?
J'ai le serveur A en cours d'exécution Elasticsearch 1.1.1 sur un nœud local avec plusieurs index. Je souhaite copier ces données sur le serveur B exécutant Elasticsearch 1.3.4
Procédure jusqu'à présent
- Arrêtez ES sur les deux serveurs et
- scp toutes les données dans le répertoire de données correct sur le nouveau serveur. (les données semblent se trouver dans / var / lib / elasticsearch / sur mes boîtes Debian)
- modifier les autorisations et la propriété en elasticsearch: elasticsearch
- démarrer le nouveau serveur ES
Quand je regarde le cluster avec le plugin ES head, aucun index n'apparaît.
Il semble que les données ne soient pas chargées. Est-ce que je manque quelque chose?
elasticsearch
Jabb
la source
la source
Réponses:
La réponse sélectionnée la rend légèrement plus complexe qu'elle ne l'est, ce dont vous avez besoin (installez d'abord npm sur votre système).
Vous pouvez ignorer la première commande Elasticdump pour les copies suivantes si les mappages restent constants.
Je viens de faire une migration d'AWS vers Qbox.io avec ce qui précède sans aucun problème.
Plus de détails sur:
https://www.npmjs.com/package/elasticdump
Page d'aide (à partir de février 2016) incluse par souci d'exhaustivité:
la source
Utiliser ElasticDump
1) yum installer epel-release
2) yum install nodejs
3) miam installer npm
4) npm installe Elasticdump
5) cd node_modules / élastiquedump / bin
6)
la source
Pour cela, vous pouvez utiliser la fonction d' instantané / restauration disponible dans Elasticsearch. Une fois que vous avez configuré un magasin de snapshots basé sur le système de fichiers, vous pouvez le déplacer entre les clusters et le restaurer sur un autre cluster
la source
J'ai essayé sur ubuntu de déplacer les données d'ELK 2.4.3 vers ELK 5.1.1
Voici les étapes
dans le répertoire personnel aller
exécuter la commande
Si vous avez besoin d'une authentification http basique, vous pouvez l'utiliser comme ceci:
Copiez un index de la production:
la source
sudo apt-get install -y software-properties-common
avant add-apt-repositoryIl y a aussi l'
_reindex
optionDe la documentation:
la source
Si vous pouvez ajouter le deuxième serveur au cluster, vous pouvez le faire:
Cela ne fonctionnera que si le nombre de remplacements est égal au nombre de nœuds.
la source
Si quelqu'un rencontre le même problème, lorsque vous essayez de vider d'elasticsearch <2.0 vers> 2.0, vous devez faire:
la source
J'ai toujours réussi à copier simplement le répertoire / dossier d'index sur le nouveau serveur et à le redémarrer. Vous trouverez l'identifiant d'index en faisant
GET /_cat/indices
et le dossier correspondant à cet identifiant se trouvedata\nodes\0\indices
(généralement dans votre dossier elasticsearch, sauf si vous l'avez déplacé).la source
Nous pouvons utiliser
elasticdump
oumultielasticdump
prendre la sauvegarde et la restaurer, nous pouvons déplacer des données d'un serveur / cluster vers un autre serveur / cluster.Veuillez trouver une réponse détaillée que j'ai fournie ici .
la source
Si vous avez simplement besoin de transférer des données d'un serveur elasticsearch à un autre, vous pouvez également utiliser elasticsearch-document-transfer .
Pas:
$ npm install elasticsearch-document-transfer.
config.js
config.js
options.js
$ node index.js
la source
Vous pouvez prendre un instantané de l'état complet de votre cluster (y compris tous les index de données) et les restaurer (à l'aide de l'API de restauration) dans le nouveau cluster ou serveur.
la source