Tengo un clúster de 32 servidores y necesito una herramienta para distribuir un servicio Java, empaquetado como un archivo Jar, a cada máquina y remotamente iniciar el servicio. El clúster consta de servidores Linux (Suse 10) con 8 núcleos por blade. La aplicación es una cuadrícula de datos que utiliza Oracle Coherence. ¿Cuál es la mejor herramienta para hacer esto?¿La mejor manera de implementar una aplicación Java en un clúster de servidores?
Respuesta
I asked something similar once, y parece que el Marco de procesamiento en paralelo de Java podría ser lo que necesita:
Desde el sitio web:
JPPF es un Grid Computing plataforma de código abierto escrito en Java que lo hace fácil de ejecutar aplicaciones en paralelo, y acelerar su ejecución por órdenes de magnitud. Escribir una vez, implementar una vez, ejecutar en todas partes!
¿Su servicio está empaquetado como un EJB? JBoss hace un trabajo bastante bueno con la agrupación.
Depende del sistema operativo que tenga y cómo esté configurada la seguridad en su red.
Si puede usar NFS o Windows Share, le sugiero que coloque el software en una unidad NFS que sea visible para todas las máquinas. De esa forma puedes ejecutarlos todos de una copia.
Si tiene shell remoto o shell remoto seguro, puede escribir un script que ejecute el mismo comando en cada máquina, p. empieza en todas las máquinas o se detiene en todas las máquinas.
Si tiene ventanas, es posible que desee configurar un servicio en cada máquina. Si tiene Linux, es posible que desee agregar un script de inicio/apagado a cada máquina.
Cuando tiene varias máquinas, puede ser útil contar con una herramienta que supervise que se estén ejecutando todos sus servicios, recopilar los registros y errores en un solo lugar y/o le permite iniciar/detenerlos desde una GUI . Hay una serie de herramientas para hacer esto, no estoy seguro de cuál es el mejor en estos días.
Tenga una mirada en OpenMOLE: http://www.openmole.org/
Esta herramienta permite distribuir un flujo de trabajo de computación a varios recursos: desde máquinas multinúcleo, clusters y redes de computación.
Está muy bien documentado y se puede controlar a través de un código groovy o una GUI.
Distribuir un jar en un clúster debería ser muy fácil de hacer con OpenMOLE.
Usar Bit Torrent. El uso del estilo de uso compartido de Punto a punto en los clústeres realmente puede aumentar la velocidad de implementación.
- 1. ¿Cuál es la mejor manera de implementar una aplicación Pylons?
- 2. ¿Cuál es la mejor biblioteca de Java para habilitar la cuadrícula/clúster de su aplicación?
- 3. ¿La mejor manera de guardar datos en una aplicación Java?
- 4. La mejor manera de determinar la cantidad de servidores necesarios
- 5. aplicación Java Servidores alternativas
- 6. La mejor manera de demonizar la aplicación Java en Linux
- 7. ¿La mejor manera de implementar una acción de alternar RESTful?
- 8. ¿La mejor manera de implementar la votación en una aplicación de Rails?
- 9. ¿La mejor manera de implementar singleton en una aplicación de consola C#?
- 10. ¿Cuál es la mejor manera de implementar ACL en una aplicación de Rails?
- 11. La mejor manera de autenticar usuarios en una aplicación web
- 12. ¿Cuál es la mejor manera de implementar un "temporizador"?
- 13. ¿Cuál es la mejor manera de implementar servicios en segundo plano para una aplicación ASP.NET?
- 14. ¿La mejor manera de implementar la autorización detallada para una aplicación web?
- 15. La mejor manera de implementar RKReachabilityObserver en RestKit
- 16. La mejor manera de implementar un patrón productor/consumidor múltiple en Java 6
- 17. ¿La mejor manera de implementar la reproducción del juego?
- 18. Datos MySQL - ¿La mejor manera de implementar la paginación?
- 19. ¿La mejor manera de usar la memoria de perfil en una aplicación Java?
- 20. La mejor manera de implementar la compatibilidad de complementos
- 21. ¿La mejor manera de implementar DropDownList en ASP.NET MVC 2?
- 22. ¿Cuál es la mejor manera de escribir una aplicación de línea de comandos en Java?
- 23. ¿Cuál es la mejor manera de implementar params en JavaScript?
- 24. Java - HashSet La mejor manera de implementar un iterador que no admite remove()
- 25. ¿Cuál es la mejor manera de implementar protocolos?
- 26. Implementar contenido en múltiples servidores (EC2)
- 27. ¿Cuál es la mejor manera de conservar datos en una aplicación de escritorio Java?
- 28. La mejor manera de crear un collage (en Java)
- 29. La mejor manera de reorganizar un ArrayList en Java
- 30. La mejor manera de implementar funciones de dibujo como Keynote
Encontré el enlace a JPPF realmente útil –