Je découvre actuellement Elasticsearch, il me parait être une solution excellente dans mon projet actuel !
Je voudrais héberger Elasticsearch sur des postes de travail pour créer des "petits" noeuds. Chacun se connecterait à un trio de noeuds principaux hébergés sur des machines dédiées.
Est-ce que Elasticsearch permet une sorte de hot-swap ? Permet-il de déconnecter et reconnecter un noeud sans que cela n'ai d'incidence sur le reste des noeuds ? (ici je parle bien entendu des "petits" noeuds, hébergés sur des postes de travail normaux, qu'on allume et qu'on éteind régulièrement).
Quelle seraient les conséquences d'héberger des noeuds sur des postes de travail normaux ? (sur le cluster lui même, sur le réseau, sur les postes de travail).
Ton besoin est de synchroniser localement un cluster central ES avec un poste client qui puisse fonctionner en déconnecté ou d'avoir un noeud client, passerelle vers le cluster ES ?
Pour le premier cas, je ferais sans doute du snapshot et restore local assez régulièrement.
Pour le second cas, j'utiliserai un noeud client pur (no data, no master).
Je voudrais pouvoir faire en sorte que les personnes qui travaillent, puisse le faire en étant déconnectées en cas de panne réseau par exemple.
L'association pour laquelle je travail dispose d'un parc informatique décentralisé sur une commune. Pour l'instant on a des serveurs de partages, mais quand il y a un problème c'est pratiquement tout le monde qui morfle.
L'idée, c'est de faire en sorte que chaque poste de travail puisse être un noeud du cluster afin que toutes les données soient partagée et accessibles, même lorsque le réseau rencontre des problèmes. Et qu'au pire des cas, le travailleur puisse continuer à travailler de manière local.
Pour te donner un exemple, dans mon bâtiment on s'est déjà retrouvé déconnecté de tout parce qu'une société tierce, faisant des travaux dans la rue, à littéralement couper notre ligne. Résultat, plus accès à rien.
Je voudrais pouvoir proposer une solution qui prend en compte la décentralisation.
Donc si j'ai bien compris dans mon cas, à chaque fois qu'un noeud client se reconnecte au cluster, il devrait entreprendre un restore local ?
Est-ce que cela prendrait en compte les éditions de document faite en local pendant une panne de réseau ?
EDIT :
Pour être plus précis, mon projet est de développé une application client AngularJS qui exploite l'API REST d'ES.
Elle serait locale et foncionnerait sur NodeWebKit pour pouvoir distribuer l'application facilement.
Ok, là c'est beaucoup plus clair dans ma tête.
Donc, coté client et gestion des sauvegardes locales, c'est mon application qui gère localement elle même.
Est-ce plus réaliste par exemple de mettre une machine dédiée à ES dans chaque localisation géographique ?
En gros mettre un serveur ES dans chaque réseau local. Chaque client se connectant, via l'API REST, au serveur ES de son réseau local.
Ça s'annonce bien !
Je vais taffer dans ce sens, merci beaucoup pour les infos !
Une dernière petite question, quand tu parles de faire du snapshot et restore, est-ce que ces opérations peuvent être automatisées directement dans ES ?
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.