我有一个包含32个服务器的集群,我需要一个工具来将Java服务(打包为Jar文件)分发到每台计算机并远程启动服务。该集群由Linux(Suse 10)服务器组成,每个刀片有8个核心。该应用程序是一个使用Oracle Coherence的数据网格。这样做的最佳工具是什么?
答案 0 :(得分:3)
I asked something similar once,似乎Java并行处理框架可能就是您所需要的:
来自网站:
JPPF是一个开源网格计算 用Java编写的平台 易于并行运行的应用程序, 并通过订单加快执行速度 数量级。写一次,部署一次, 到处执行!
答案 1 :(得分:1)
查看OpenMOLE:http://www.openmole.org/
此工具使您可以将计算工作流分发到多个资源:从多核机器到群集和计算网格。
它有很好的文档记录,可以通过groovy代码或GUI进行控制。
使用OpenMOLE可以很容易地在群集上分发jar。
答案 2 :(得分:0)
您的服务是否打包为EJB? JBoss在集群方面做得相当不错。
答案 3 :(得分:0)
使用Bit Torrent。在群集上使用Peer to Peer共享样式可以真正提高部署速度。
答案 4 :(得分:-1)
这取决于您拥有的操作系统以及网络上的安全设置。
如果您可以使用NFS或Windows Share,我建议您将软件放在所有计算机都可以看到的NFS驱动器上。这样你就可以从一个副本中运行它们。
如果你有远程shell或安全远程shell,你可以编写一个脚本,在每台机器上运行相同的命令,例如在所有机器上启动,或在所有机器上停止。
如果您有Windows,则可能需要在每台计算机上设置服务。如果你有linux,你可能想要为每台机器添加一个启动/关闭脚本。
当您拥有多台计算机时,拥有一个监视所有服务正在运行的工具,在一个地方收集日志和错误和/或允许您从GUI启动/停止它们可能会很有用。有很多工具可以做到这一点,不确定哪些是最好的。