You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IBM WebSphere高可用环境下使用wsadmin实现更新滚动部署

实现WebSphere集群应用滚动更新(wsadmin版)

核心思路

放弃一次性全集群批量更新,改为逐个遍历集群成员服务器,依次完成「停止目标服务器上的应用→更新应用到该服务器→重启应用→验证可用性」的流程,确保集群始终有其他节点对外提供服务,避免停机。

具体操作步骤

1. 连接到wsadmin命令行

先启动wsadmin并连接到部署管理器:

wsadmin.sh -lang jython -user admin -password yourAdminPass -host dmgr-host-ip -port 8879

2. 定义基础配置变量

替换为你的实际应用、集群和安装包路径:

appName = "YourBusinessApp"
clusterName = "YourCluster"
updatedAppPath = "/opt/was/apps/updated-app.ear"

3. 获取集群内所有成员服务器

# 获取集群ID
clusterId = AdminConfig.getid("/ServerCluster:" + clusterName + "/")
# 提取集群下所有成员服务器
clusterMembers = AdminConfig.list("ServerClusterMember", clusterId).splitlines()
# 整理服务器名称列表
serverList = []
for member in clusterMembers:
    serverList.append(AdminConfig.showAttribute(member, "memberName"))

4. 逐服务器执行滚动更新

遍历每个服务器,依次完成更新流程:

for server in serverList:
    print(f"开始更新服务器 {server}...")
    
    # 1. 停止当前服务器上的应用实例
    appManager = AdminControl.completeObjectName(f"type=ApplicationManager,process={server},*")
    AdminControl.invoke(appManager, "stopApplication", appName)
    
    # 2. 将更新后的应用部署到该服务器
    AdminApp.update(appName, 'app', 
        f'[ -operation update -contents {updatedAppPath} -target {server} ]')
    AdminConfig.save()
    
    # 3. 启动该服务器上的应用实例
    AdminControl.invoke(appManager, "startApplication", appName)
    
    # 4. 验证应用运行状态(可选)
    appStatus = AdminControl.invoke(appManager, "isApplicationRunning", appName)
    print(f"服务器 {server} 更新完成,应用状态: {appStatus}")
    
    # 可选:添加等待间隔,确保应用完全启动就绪
    import time
    time.sleep(30)

关键注意事项

  • 禁止批量更新:绝对不要直接用AdminApp.update指定整个集群后执行AdminConfig.save,这会触发所有服务器同步更新,直接导致集群停机。
  • 状态验证必做:每个服务器更新后必须检查应用状态,避免故障节点上线影响业务。
  • 负载均衡配合(可选):如果前端有负载均衡器,可在更新前将目标服务器从负载池中移除,更新完成后再重新加入,进一步降低用户侧的感知影响。
  • 脚本自动化:可将上述代码保存为rollout_update.py,直接通过wsadmin批量执行:
    wsadmin.sh -lang jython -f rollout_update.py
    

内容的提问来源于stack exchange,提问作者Ahmed Omair

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 18:45:17