J'ai un cluster de 32 serveurs et j'ai besoin d'un outil pour distribuer un service Java, empaqueté en tant que fichier Jar, à chaque machine et démarrer le service à distance. Le cluster est constitué de serveurs Linux (Suse 10) avec 8 cœurs par lame. L'application est une grille de données qui utilise Oracle Coherence. Quel est le meilleur outil pour cela?Meilleure façon de déployer une application Java sur un cluster de serveurs?
Répondre
I asked something similar once, et il semble que le cadre de traitement parallèle Java peut-être ce dont vous avez besoin:
Sur le site web:
JPPF est une open source Grid Computing plate-forme écrit en Java qui rend facile à exécuter des applications en parallèle, et accélérer leur exécution par des ordres de magnitude. Ecrire une fois, déployer une fois, exécuter partout!
Votre service est-il fourni en tant qu'EJB? JBoss fait du bon travail avec le clustering.
Cela dépend du système d'exploitation dont vous disposez et de la configuration de la sécurité sur votre réseau.
Si vous pouvez utiliser le partage NFS ou Windows, je vous suggère de placer le logiciel sur un lecteur NFS visible par toutes les machines. De cette façon, vous pouvez les exécuter tous à partir d'une copie.
Si vous disposez d'un shell distant ou d'un shell distant sécurisé, vous pouvez écrire un script exécutant la même commande sur chaque machine, par ex. démarrer sur toutes les machines, ou arrêter sur toutes les machines.
Si vous avez des fenêtres, vous pouvez configurer un service sur chaque machine. Si vous avez linux, vous pouvez ajouter un script de démarrage/arrêt à chaque machine. Lorsque vous avez un certain nombre de machines, il peut être utile d'avoir un outil qui surveille l'exécution de tous vos services, recueille les journaux et les erreurs en un seul endroit et/ou vous permet de les démarrer/les arrêter depuis une interface graphique. . Il y a un certain nombre d'outils pour le faire, pas sûr de ce qui est le meilleur ces jours-ci.
Jetez un oeil à OpenMOLE: http://www.openmole.org/
Cet outil vous permet de distribuer un flux de travail informatique à plusieurs ressources: des machines multiconducteurs, aux clusters et les grilles de calcul.
Il est bien documenté et peut être contrôlé par un code groovy ou une interface graphique.
La distribution d'un pot sur un cluster devrait être très facile à faire avec OpenMOLE.
Utiliser Bit Torrent. L'utilisation du style de partage Peer to Peer sur les clusters peut vraiment augmenter votre vitesse de déploiement.
J'ai trouvé le lien vers JPPF vraiment utile –