【发布时间】:2012-04-04 19:41:29
【问题描述】:
环境:
- Java EE 网络应用程序
- JDK:1.6,
- AS:Websphere 应用服务器 7,
- 操作系统:redhatzLinux
我不是 websphere 管理员,我被要求开发一种方法或脚本来解决以下问题:
我有一个包含三个节点 NodeA、NodeB 和 NodeC 的集群。我的应用程序在这些集群上运行。我想在这些节点上部署我的应用程序,这样我就不需要一次将它们全部关闭。这些天,部署是这样完成的:我们晚上来从控制台一次停止所有服务器。然后我们将应用程序安装在与部署管理器在同一台机器上的主节点上,然后我们同步并一一备份所有服务器。
我被要求做的事情是我们升级应用程序或安装新的 ear 文件,但不要让所有东西都停机,因为这会导致应用程序停机。有没有办法实现这一点。 WAS 7 是一款非常成熟的产品,我相信一定有办法做到这一点。
我查看了文档/教程,我们可以执行“更新”之类的操作,其中我们选择应用程序(从应用程序> websphere 企业应用程序)并选择更新,然后选择单选按钮“替换整个应用程序”和单选按钮“本地文件” system”并指向新的ear文件。但在那种情况下,文档说它会在更新时关闭所有服务器。它和以前一样。没有在线部署。
我是一个java程序员,所以我想用什么工具来解决这个问题
告诉我这是否是个问题:
1) 我们关闭了 NODEA 2)我们从集群中删除节点(通过按下删除节点按钮或使用removeNode.sh) 3) 在 NODEA 上安装新 Ear(我们可以在同一个管理控制台中执行此操作吗?或者通过 shell 脚本或 jython 或者可能像独立服务器一样) 3)然后我们再次启动它,然后将其添加到集群中。 现在我们有了带有新应用程序的 NODEA,而带有旧应用程序版本的 NODE B 和 NODEC。
然后我们关闭 NODEB 从集群中删除 NODEB 在 NODEB 上安装应用程序 重新启动它 将其添加回集群
现在我们有两个带有新应用程序的节点和带有旧应用程序的 NODEC
我们为 NODEC 尝试相同的过程。
这行得通吗?有没有人试过这个。你能想到会发生什么问题。
我将非常感谢来自这里的任何反馈。我相信这个论坛上有经验丰富的人。我不认为这是一个罕见的问题,我相信这是任何具有高可用性要求的组织都想要的。
提前感谢您的帮助。 赛义德...
【问题讨论】:
标签: deployment distributed cluster-computing websphere-7