在 IBM Websphere 7 集群中部署具有高可用性的节点

标签 deployment distributed cluster-computing websphere-7

环境 :

  • Java EE webApp
  • JDK:1.6,
  • AS:Websphere 应用服务器 7,
  • 操作系统:redhatzLinux

  • 我不是 websphere 管理员,我被要求开发一种方法或脚本来解决以下问题:

    我有一个包含三个节点 NodeA NodeB 和 NodeC 的集群。我的应用程序在这些集群上运行。我想在这些节点上部署我的应用程序,这样我就不需要一次将它们全部关闭。这些天的部署是这样完成的:我们晚上来从控制台一次停止所有服务器。然后我们将应用程序安装在与部署管理器在同一台机器上的主节点上,然后我们同步并将所有服务器一一备份。

    我被要求做什么 是我们通过不关闭所有内容来升级应用程序或安装新的ear 文件,因为这会导致应用程序停机。有没有办法实现这一点。 WAS 7 是一个非常成熟的产品,我相信一定有办法做到这一点。

    我查看了文档/教程,我们可以执行诸如“更新”之类的操作,我们可以在其中选择应用程序(从应用程序> websphere 企业应用程序)并选择更新,然后选择单选按钮“替换整个应用程序”和单选按钮“本地文件系统”和指向新的ear文件。但在这种情况下,文档说它会在更新时关闭所有服务器。它和以前一样。没有在线部署。

    我是一名 Java 程序员,所以我想使用我必须使用的工具来解决这个问题

    告诉我这是否可能是一个问题 :

    1) 我们打倒 NODEA
    2) 我们从集群中删除 NODEA(通过按下删除节点按钮或使用 removeNode.sh)
    3) 在 NODEA 上安装新的 Ear(我们可以在同一个管理控制台中执行此操作吗?或通过 shell 脚本或 jython 或可能像独立服务器一样)
    3)然后我们再次启动它,然后将其添加到集群中。
    现在我们有了带有新应用程序的 NODEA,而 NODE B 和 NODEC 带有旧应用程序版本。

    然后我们关闭NODEB
    从集群中删除 NODEB
    在 NODEB 上安装应用程序
    重新启动
    将其添加回集群

    现在我们有两个带有新应用程序的节点和带有旧应用程序的 NODEC

    我们为 NODEC 尝试相同的过程。

    这会起作用吗。有没有人试过这个。你能想到哪些问题可能会发生。

    我将非常感谢来自这里的任何反馈。我相信这个论坛上有经验丰富的人。我不认为这是一个罕见的问题,我相信这是任何组织都希望满足高可用性要求的问题。

    提前感谢您的任何帮助。
    赛义德...

    最佳答案

    这可能是 How can i do zero down time deployment on cluster environment? 的副本.这基本上是我对那个问题的回答:

    更新应用程序后,您可以使用“Rollout Update”功能。无需在更新后保存和同步节点,您可以使用此功能自动执行以下任务,使更改能够传播到所有部署目标,同时保持高可用性(假设您有一个水平集群,这样集群成员存在于多个节点,听起来像您这样做):

  • 将 session 更改保存到主配置
  • 对于集群中的每个节点(一次一个,以实现持续可用性):
  • 停止节点
  • 上的集群成员
  • 同步节点
  • 启动应用程序服务器(自动启动应用程序)

  • 关于在 IBM Websphere 7 集群中部署具有高可用性的节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9785114/

    相关文章:

    sockets - ZeroMQ 设计决策

    cluster-computing - 蚊子集群的基准?

    c# - 序列化/反序列化 "NHibernate Session",延迟初始化错误 ("StateServer mode"集群)

    node.js 集群,将子级标准输出重定向到文件中断数据

    svn - 将文件从 Dev 移动到 Live 站点的最佳方法 (django)

    c# - 安装没有 InstallUtil.exe 的 windows 服务

    node.js - 在单个端口后面运行多个 sails 应用程序

    python - 使用 Dask 进行大规模并行搜索操作,分布式

    algorithm - 一致性哈希有什么缺点吗?

    .net - 通过 ClickOnce 部署识别目标计算机(32 位或 64 位)