我有一个由32个服务器组成的集群,需要一种工具来将打包为Jar文件的Java服务分发到每台机器上并远程启动服务。该集群由Linux(Suse 10)服务器组成,每个刀片有8个核心。该应用程序是使用Oracle Coherence的数据网格。什么是最好的工具来完成这个任务?
我有一个由32个服务器组成的集群,需要一种工具来将打包为Jar文件的Java服务分发到每台机器上并远程启动服务。该集群由Linux(Suse 10)服务器组成,每个刀片有8个核心。该应用程序是使用Oracle Coherence的数据网格。什么是最好的工具来完成这个任务?
我曾经问过类似的问题,看起来Java并行处理框架可能是你需要的:
来自网站:
JPPF是一个使用Java编写的开源网格计算平台,使并行运行应用程序变得容易,并将其执行速度提高数倍。一次编写,一次部署,到处执行!
看看OpenMOLE:http://www.openmole.org/
这个工具可以让你将计算工作流分配到多个资源上:从多核机器到集群和计算网格。
它有很好的文档,并且可以通过Groovy代码或GUI进行控制。
使用OpenMOLE在集群上分发jar应该非常容易。
使用Bit Torrent。在集群上使用点对点共享方式可以真正提高部署速度。
你的服务是否打包为EJB?JBoss在集群方面做得相当不错。
这取决于您所使用的操作系统以及网络安全设置的方式。
如果您可以使用NFS或Windows共享,我建议您将软件放在可供所有计算机访问的NFS驱动器上。这样,您就可以从一个副本运行它们。
如果您具有远程shell或安全远程shell,则可以编写一个脚本,在每台计算机上运行相同的命令,例如在所有计算机上启动或停止。
如果您使用的是Windows操作系统,则可能需要在每台计算机上设置一个服务。如果您使用的是Linux操作系统,则可能需要在每台计算机上添加启动/关闭脚本。
当您拥有多台计算机时,有一个工具可以监视您的所有服务是否正在运行,将日志和错误收集到一个地方,并/或者允许您从GUI启动/停止它们是非常有用的。目前有很多工具可以实现这个功能,不确定哪个是最好的。