1. 首页 > WebSphere教程 > 正文

WebSphere教程FG003-WebSphere ND 9.0.5部署与集群搭建实战

本文档风哥主要介绍WebSphere Application Server Network Deployment 9.0.5的部署与集群搭建,包括ND版本概述、集群概念介绍、部署管理器安装、节点安装与联合、集群创建与配置等内容,风哥教程参考WebSphere官方文档Network Deployment章节,适合WebSphere管理员在学习和测试中使用,如果要应用于生产环境则需要自行确认。更多视频教程www.fgedu.net.cn

Part01-基础概念与理论知识

1.1 WebSphere ND版本概述

IBM WebSphere Application Server Network Deployment(简称WAS ND)是WebSphere的企业级版本,在Base版本基础上增加了集群管理、高可用、集中管控等企业级特性。WebSphere ND 9.0.5支持大规模应用部署和管理,是企业级生产环境的首选。学习交流加群风哥微信: itpux-com

WebSphere ND版本主要特性:

  • 部署管理器(Deployment Manager):集中管理多个节点
  • 集群支持:静态集群和动态集群
  • 高可用:故障转移和会话复制
  • 负载均衡:工作负载管理和流量分发
  • 滚动升级:零停机补丁和升级
  • 集中管理:统一的配置和管理界面

1.2 WebSphere集群概念介绍

WebSphere集群是一组协同工作的应用服务器,提供高可用性和可扩展性:

1.2.1 集群类型

  • 静态集群:固定数量的应用服务器,需要手动添加或删除成员
  • 动态集群:根据负载自动扩展或缩减应用服务器数量

1.2.2 集群架构

WebSphere集群架构:

┌─────────────────────────────────────────────────────────────┐
│ Cell(单元) │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ Deployment Manager(DMgr) ││
│ │ 管理控制台:9060/9043 ││
│ │ 192.168.1.100 ││
│ └─────────────────────────────────────────────────────────┘│
│ │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ Cluster(集群) ││
│ │ ┌───────────┐ ┌───────────┐ ┌───────────┐ ││
│ │ │Server1 │ │Server2 │ │Server3 │ ││
│ │ │Node1 │ │Node2 │ │Node3 │ ││
│ │ │9080/9443 │ │9080/9443 │ │9080/9443 │ ││
│ │ └───────────┘ └───────────┘ └───────────┘ ││
│ └─────────────────────────────────────────────────────────┘│
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │Node Agent │ │Node Agent │ │Node Agent │ │
│ │Node1 │ │Node2 │ │Node3 │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
└─────────────────────────────────────────────────────────────┘

1.3 WebSphere部署管理器概念

部署管理器(Deployment Manager,简称DMgr)是WebSphere ND的核心管理组件:

1.3.1 DMgr功能

  • 集中管理:管理整个Cell的配置和资源
  • 配置同步:将配置变更同步到各个节点
  • 应用部署:集中部署应用到集群成员
  • 监控管理:监控集群和节点状态
  • 安全管理:统一的安全配置和管理

1.3.2 DMgr Profile

# DMgr Profile说明

DMgr Profile是部署管理器的运行时环境,包含:
– 配置文件:cell配置、安全配置等
– 日志文件:DMgr运行日志
– 临时文件:工作目录

DMgr Profile目录结构:
/WebSphere/app/profiles/Dmgr01/
├── bin/ # 启动脚本
├── config/ # 配置文件
│ ├── cells/ # 单元配置
│ └── nodes/ # 节点配置
├── logs/ # 日志文件
├── temp/ # 临时文件
└── workspace/ # 工作目录

# DMgr启动命令
/WebSphere/app/profiles/Dmgr01/bin/startManager.sh

1.4 WebSphere节点与单元概念

WebSphere ND中的节点和单元是重要的管理概念:

1.4.1 Cell(单元)

  • WebSphere ND管理的整个管理域
  • 包含一个DMgr和多个节点
  • 所有配置在Cell级别统一管理
  • Cell名称在整个环境中必须唯一

1.4.2 Node(节点)

  • 一个逻辑管理单元
  • 通常对应一台物理服务器或虚拟机
  • 包含一个或多个应用服务器
  • 每个节点有一个Node Agent

1.4.3 Node Agent(节点代理)

# Node Agent功能说明

Node Agent是节点上的管理代理进程,负责:
– 与DMgr通信
– 同步配置文件
– 管理节点上的应用服务器
– 监控服务器状态

Node Agent工作流程:
1. DMgr发送配置变更到Node Agent
2. Node Agent接收并应用配置
3. Node Agent启动/停止应用服务器
4. Node Agent向DMgr报告状态

# Node Agent启动命令
/WebSphere/app/profiles/AppSrv01/bin/startNode.sh

# Node Agent状态检查
/WebSphere/app/profiles/AppSrv01/bin/nodeagent.status

风哥提示:理解Cell、Node、Cluster的关系是管理WebSphere ND的基础。Cell是最大的管理单元,Node是服务器分组,Cluster是应用服务器分组,用于实现高可用和负载均衡。

Part02-生产环境规划与建议

2.1 WebSphere集群规划

WebSphere集群规划需要考虑多个方面:

2.1.1 集群规模规划

# WebSphere集群规模规划

小型集群(2节点):
– 适用场景:小型应用、开发测试
– 节点数:2个
– 服务器数:2-4个
– 特点:基本高可用

中型集群(3-5节点):
– 适用场景:中型企业应用
– 节点数:3-5个
– 服务器数:6-15个
– 特点:高可用+负载均衡

大型集群(5节点以上):
– 适用场景:大型企业核心系统
– 节点数:5个以上
– 服务器数:15个以上
– 特点:高可用+负载均衡+弹性扩展

# 集群规划原则
– 至少2个节点实现高可用
– 节点分布在不同物理服务器
– 考虑故障域隔离
– 预留扩展空间

2.1.2 集群类型选择

# 静态集群 vs 动态集群

静态集群:
优点:
– 配置简单
– 资源可控
– 适合固定规模应用

缺点:
– 手动扩展
– 需要人工干预

适用场景:
– 应用规模稳定
– 不需要频繁扩展
– 运维资源有限

动态集群:
优点:
– 自动扩展
– 响应负载变化
– 智能化管理

缺点:
– 配置复杂
– 需要额外资源

适用场景:
– 负载波动大
– 需要弹性扩展
– 有自动化运维能力

# 生产环境建议
– 初期使用静态集群
– 逐步过渡到动态集群
– 结合监控实现智能扩展

2.2 WebSphere部署管理器规划

DMgr是WebSphere ND的核心,需要仔细规划:

2.2.1 DMgr部署规划

# DMgr部署规划

单DMgr部署:
– 适用场景:中小型环境
– 优点:配置简单
– 缺点:单点故障风险
– 建议:配合HAProxy实现高可用

DMgr高可用部署:
– 适用场景:大型生产环境
– 方式:主备DMgr
– 优点:消除单点故障
– 缺点:配置复杂

# DMgr资源规划
CPU:4-8核
内存:8-16GB
磁盘:50GB以上
网络:千兆网卡

# DMgr网络规划
管理端口:
– 9060:HTTP管理控制台
– 9043:HTTPS管理控制台
– 8880:SOAP连接器
– 2809:RMI连接器
– 9402/9403:DRS端口

2.3 WebSphere节点规划

节点规划需要考虑硬件资源和网络配置:

2.3.1 节点资源规划

# WebSphere节点资源规划

小型节点(每节点2个服务器):
– CPU:8核
– 内存:32GB
– JVM堆:每个服务器8GB
– 适用:轻量级应用

中型节点(每节点3-4个服务器):
– CPU:16核
– 内存:64GB
– JVM堆:每个服务器12GB
– 适用:中等负载应用

大型节点(每节点4个以上服务器):
– CPU:32核
– 内存:128GB
– JVM堆:每个服务器16GB
– 适用:高负载应用

# 节点规划原则
– 单个节点服务器数量不超过CPU核心数
– JVM堆内存总和不超过物理内存50%
– 预留内存给操作系统和其他进程
– 考虑GC和内存碎片

2.4 WebSphere集群网络规划

网络规划是集群搭建的关键:

2.4.1 网络拓扑规划

# WebSphere集群网络拓扑

┌─────────────────────────────────────────────────────────────┐
│ 负载均衡器 │
│ F5/IHS/Nginx │
│ 192.168.1.10 │
└─────────────────────────────────────────────────────────────┘

┌───────────────────┼───────────────────┐
│ │ │
▼ ▼ ▼
┌───────────────┐ ┌───────────────┐ ┌───────────────┐
│ Node 1 │ │ Node 2 │ │ Node 3 │
│192.168.1.101 │ │192.168.1.102 │ │192.168.1.103 │
│ │ │ │ │ │
│ ┌───────────┐ │ │ ┌───────────┐ │ │ ┌───────────┐ │
│ │Server1 │ │ │ │Server2 │ │ │ │Server3 │ │
│ │9080/9443 │ │ │ │9080/9443 │ │ │ │9080/9443 │ │
│ └───────────┘ │ │ └───────────┘ │ │ └───────────┘ │
└───────────────┘ └───────────────┘ └───────────────┘
│ │ │
└───────────────────┼───────────────────┘


┌─────────────────────────────────────────────────────────────┐
│ DMgr节点 │
│ 192.168.1.100 │
│ 9060/9043/8880 │
└─────────────────────────────────────────────────────────────┘

# 网络要求
– 所有节点之间网络互通
– DMgr可以访问所有节点
– 客户端可以访问负载均衡器
– 建议使用独立的管理网络

2.4.2 端口规划

# WebSphere集群端口规划

DMgr端口:
– 9060:HTTP管理控制台
– 9043:HTTPS管理控制台
– 8880:SOAP连接器
– 2809:RMI连接器
– 9402:DRS客户端
– 9403:DRS服务端
– 9632:IPC连接器
– 9100:SIB端点
– 7277:SIB HTTP

节点代理端口:
– 2810:Node Agent RMI
– 9101:Node Agent SIB

应用服务器端口:
– 9080:HTTP
– 9443:HTTPS
– 2809:RMI
– 9402/9403:DRS
– 7276/7286:SIB

# 查看端口配置
cat /WebSphere/app/profiles/Dmgr01/config/cells/fgeduCell01/nodes/fgeduNode01/serverindex.xml

Part03-生产环境项目实施方案

3.1 WebSphere部署管理器安装

安装部署管理器是搭建WebSphere ND集群的第一步:

3.1.1 创建DMgr Profile

# 使用Profile Management Tool创建DMgr Profile

# 方式1:图形界面创建
# 步骤1:启动Profile Management Tool
/WebSphere/app/bin/ProfileManagement/pmt.sh

# 步骤2:选择”Deployment Manager”类型
# 步骤3:配置Profile名称和路径
# 步骤4:配置Cell名称和Node名称
# 步骤5:配置管理员用户名和密码
# 步骤6:配置端口
# 步骤7:确认并创建

# 方式2:命令行创建
/WebSphere/app/bin/manageprofiles.sh -create \
-profileName Dmgr01 \
-profilePath /WebSphere/app/profiles/Dmgr01 \
-templatePath /WebSphere/app/profileTemplates/management \
-serverType DEPLOYMENT_MANAGER \
-nodeName fgeduCellManager01 \
-cellName fgeduCell01 \
-hostName fgedu-dmgr.net.cn \
-enableAdminSecurity true \
-adminUserName fgeduadmin \
-adminPassword fgedu123 \
-defaultPorts

INSTCONFSUCCESS: 成功:已成功创建概要文件。
可以使用位于 “/WebSphere/app/profiles/Dmgr01/bin/startManager.sh” 的脚本启动部署管理器。

3.1.2 启动DMgr

# 启动部署管理器
/WebSphere/app/profiles/Dmgr01/bin/startManager.sh

ADMU0116I: 正在 /WebSphere/app/profiles/Dmgr01/logs/dmgr 目录中的文件记录工具信息
ADMU3100I: 正在从服务器读取配置: dmgr
ADMU3200I: 已将服务器请求端口设置为 9,602。
ADMU3200I: 已将服务器请求协议设置为 SOAP。
ADMU3200I: 已将服务器 SOAP 请求端口设置为 8,880。
ADMU3200I: 已将服务器 JMX请求端口设置为 9,602。
ADMU3200I: 已将服务器 JMX请求协议设置为 RMI。
ADMU3200I: 已将服务器 RMI请求端口设置为 2,809。
ADMU0500I: 正在启动具有以下概要文件的应用程序服务器: Dmgr01
ADMU2400I: 正在启动服务器: dmgr
ADMU0026I: 完成启动服务器: dmgr

# 检查DMgr状态
/WebSphere/app/profiles/Dmgr01/bin/serverStatus.sh dmgr

ADMU0505I: 服务器 dmgr 的状态为 STARTED

# 访问管理控制台
# http://fgedu-dmgr.net.cn:9060/ibm/console
# https://fgedu-dmgr.net.cn:9043/ibm/console

3.2 WebSphere节点安装与联合

安装应用节点并将其联合到DMgr:

3.2.1 创建应用服务器Profile

# 在应用节点服务器上创建Profile

# 方式1:图形界面创建
/WebSphere/app/bin/ProfileManagement/pmt.sh

# 步骤1:选择”Application Server”类型
# 步骤2:配置Profile名称和路径
# 步骤3:配置Node名称
# 步骤4:配置端口
# 步骤5:确认并创建

# 方式2:命令行创建
/WebSphere/app/bin/manageprofiles.sh -create \
-profileName AppSrv01 \
-profilePath /WebSphere/app/profiles/AppSrv01 \
-templatePath /WebSphere/app/profileTemplates/default \
-nodeName fgeduNode01 \
-cellName fgeduCell01 \
-hostName fgedu01.net.cn \
-defaultPorts

INSTCONFSUCCESS: 成功:已成功创建概要文件。

3.2.2 将节点联合到DMgr

# 将节点联合到部署管理器

/WebSphere/app/profiles/AppSrv01/bin/addNode.sh \
fgedu-dmgr.net.cn 8879 \
-username fgeduadmin \
-password fgedu123

ADMU0001I: 开始联合节点 fgeduNode01 到单元 fgeduCell01
ADMU0004I: 正在将配置从部署管理器下载到本地节点
ADMU0009I: 正在将节点配置保存到主存储库
ADMU0010I: 正在将节点配置同步到部署管理器
ADMU0011I: 节点联合操作已完成
ADMU9999I: 节点 fgeduNode01 已成功联合到单元 fgeduCell01

# 启动节点代理
/WebSphere/app/profiles/AppSrv01/bin/startNode.sh

ADMU0116I: 正在记录工具信息
ADMU3100I: 正在读取配置
ADMU3200I: 已设置端口
ADMU0500I: 正在启动节点代理
ADMU0026I: 完成启动节点代理

# 检查节点代理状态
/WebSphere/app/profiles/AppSrv01/bin/serverStatus.sh nodeagent

ADMU0505I: 节点代理 nodeagent 的状态为 STARTED

3.2.3 验证节点联合

# 在DMgr上验证节点联合

# 登录管理控制台
# 导航到: 系统管理 > 节点

# 或使用wsadmin命令验证
/WebSphere/app/profiles/Dmgr01/bin/wsadmin.sh -lang jython \
-username fgeduadmin \
-password fgedu123 \
-c “print AdminNodeManagement.listNodes()”

‘fgeduCellManager01 (deployment manager)’
‘fgeduNode01’

# 同步节点
/WebSphere/app/profiles/AppSrv01/bin/syncNode.sh \
fgedu-dmgr.net.cn 8879 \
-username fgeduadmin \
-password fgedu123

ADMU0016I: 正在从部署管理器同步节点配置
ADMU0017I: 同步操作已完成

3.3 WebSphere集群创建

创建WebSphere集群并添加成员:

3.3.1 创建集群

# 使用管理控制台创建集群

# 步骤1:登录管理控制台
# http://fgedu-dmgr.net.cn:9060/ibm/console

# 步骤2:导航到服务器 > 集群 > WebSphere应用程序服务器集群

# 步骤3:点击”新建”

# 步骤4:配置集群基本信息
# 集群名称: fgeduCluster
# 首选HTTP端口: 9080
# 首选HTTPS端口: 9443

# 步骤5:添加集群成员
# 成员名称: server1
# 节点: fgeduNode01

# 步骤6:确认并创建

# 使用wsadmin命令创建集群
/WebSphere/app/profiles/Dmgr01/bin/wsadmin.sh -lang jython \
-username fgeduadmin \
-password fgedu123

wsadmin> clusterName = ‘fgeduCluster’
wsadmin> nodeName = ‘fgeduNode01’
wsadmin> serverName = ‘server1’
wsadmin> AdminClusterManagement.createCluster(clusterName)
wsadmin> AdminClusterManagement.createClusterMember(clusterName, nodeName, serverName)
wsadmin> AdminConfig.save()
wsadmin> exit

3.3.2 添加集群成员

# 添加更多集群成员

# 方式1:管理控制台
# 导航到: 服务器 > 集群 > WebSphere应用程序服务器集群
# 选择集群 > 集群成员 > 新建

# 方式2:wsadmin命令
wsadmin> clusterName = ‘fgeduCluster’
wsadmin> nodeName = ‘fgeduNode02’
wsadmin> serverName = ‘server2’
wsadmin> AdminClusterManagement.createClusterMember(clusterName, nodeName, serverName)
wsadmin> AdminConfig.save()

# 添加第三个成员
wsadmin> nodeName = ‘fgeduNode03’
wsadmin> serverName = ‘server3’
wsadmin> AdminClusterManagement.createClusterMember(clusterName, nodeName, serverName)
wsadmin> AdminConfig.save()

# 查看集群成员
wsadmin> print AdminClusterManagement.listClusterMembers(‘fgeduCluster’)

server1
server2
server3

3.4 WebSphere集群配置

配置集群的基本参数和资源:

3.4.1 配置集群权重

# 配置集群成员权重

# 权重用于负载均衡,权重越高,分配的请求越多

# 方式1:管理控制台
# 导航到: 服务器 > 集群 > WebSphere应用程序服务器集群
# 选择集群 > 集群成员 > 选择成员 > 权重

# 方式2:wsadmin命令
wsadmin> clusterName = ‘fgeduCluster’
wsadmin> serverName = ‘server1’
wsadmin> weight = 2
wsadmin> AdminClusterManagement.setClusterMemberWeight(clusterName, serverName, weight)
wsadmin> AdminConfig.save()

# 配置所有成员权重
wsadmin> AdminClusterManagement.setClusterMemberWeight(‘fgeduCluster’, ‘server1’, 2)
wsadmin> AdminClusterManagement.setClusterMemberWeight(‘fgeduCluster’, ‘server2’, 2)
wsadmin> AdminClusterManagement.setClusterMemberWeight(‘fgeduCluster’, ‘server3’, 2)
wsadmin> AdminConfig.save()

3.4.2 配置会话复制

# 配置会话复制实现高可用

# 方式1:管理控制台
# 导航到: 服务器 > 服务器类型 > WebSphere应用程序服务器
# 选择服务器 > 会话管理 > 分布式环境设置

# 配置内存到内存复制
# 复制域: 选择或创建复制域
# 复制模式: “客户端”或”服务器”

# 方式2:wsadmin命令
wsadmin> serverName = ‘server1’
wsadmin> nodeName = ‘fgeduNode01’
wsadmin> serverId = AdminConfig.getid(‘/Node:’ + nodeName + ‘/Server:’ + serverName + ‘/’)
wsadmin> sessionMgr = AdminConfig.list(‘SessionManager’, serverId)
wsadmin> tuningParams = AdminConfig.list(‘TuningParams’, sessionMgr)
wsadmin> AdminConfig.modify(tuningParams, [[‘usingMultiRowSchema’, ‘true’]])
wsadmin> AdminConfig.save()

# 启用会话复制
wsadmin> AdminConfig.create(‘MemoryToMemorySessionReplication’, sessionMgr, [])
wsadmin> AdminConfig.save()

风哥提示:会话复制是实现高可用的关键配置。生产环境建议启用内存到内存复制,确保用户会话在服务器故障时不会丢失。学习交流加群风哥QQ113257174

Part04-生产案例与实战讲解

4.1 WebSphere集群部署实战

完整的WebSphere集群部署案例:

4.1.1 部署环境信息

# WebSphere集群部署环境信息

DMgr节点:
– 主机名: fgedu-dmgr.net.cn
– IP地址: 192.168.1.100
– Profile: Dmgr01
– Cell: fgeduCell01

应用节点1:
– 主机名: fgedu01.net.cn
– IP地址: 192.168.1.101
– Profile: AppSrv01
– Node: fgeduNode01

应用节点2:
– 主机名: fgedu02.net.cn
– IP地址: 192.168.1.102
– Profile: AppSrv01
– Node: fgeduNode02

应用节点3:
– 主机名: fgedu03.net.cn
– IP地址: 192.168.1.103
– Profile: AppSrv01
– Node: fgeduNode03

集群配置:
– 集群名称: fgeduCluster
– 成员数量: 3个
– HTTP端口: 9080
– HTTPS端口: 9443

4.1.2 部署脚本

#!/bin/bash
# websphere_cluster_setup.sh
# from:www.itpux.com.qq113257174.wx:itpux-com
# web: http://www.fgedu.net.cn

# WebSphere集群部署脚本

WAS_HOME=/WebSphere/app
DMGR_HOST=fgedu-dmgr.net.cn
DMGR_PORT=8879
ADMIN_USER=fgeduadmin
ADMIN_PASS=fgedu123
CELL_NAME=fgeduCell01
CLUSTER_NAME=fgeduCluster

echo “==========================================”
echo ” WebSphere ND集群部署脚本”
echo “==========================================”

# 检查是否为websphere用户
if [ “$(whoami)” != “websphere” ]; then
echo “请使用websphere用户执行此脚本”
exit 1
fi

# 1. 启动DMgr
echo “1. 启动部署管理器…”
$WAS_HOME/profiles/Dmgr01/bin/startManager.sh
sleep 10

# 2. 检查DMgr状态
echo “2. 检查部署管理器状态…”
$WAS_HOME/profiles/Dmgr01/bin/serverStatus.sh dmgr

# 3. 创建集群
echo “3. 创建集群…”
$WAS_HOME/profiles/Dmgr01/bin/wsadmin.sh -lang jython \
-username $ADMIN_USER \
-password $ADMIN_PASS \
-c “AdminClusterManagement.createCluster(‘$CLUSTER_NAME’)”

# 4. 添加集群成员
echo “4. 添加集群成员…”
for node in fgeduNode01 fgeduNode02 fgeduNode03; do
server=”server_${node: -2}”
echo “添加成员 $server 到节点 $node…”
$WAS_HOME/profiles/Dmgr01/bin/wsadmin.sh -lang jython \
-username $ADMIN_USER \
-password $ADMIN_PASS \
-c “AdminClusterManagement.createClusterMember(‘$CLUSTER_NAME’, ‘$node’, ‘$server’)”
done

# 5. 保存配置
echo “5. 保存配置…”
$WAS_HOME/profiles/Dmgr01/bin/wsadmin.sh -lang jython \
-username $ADMIN_USER \
-password $ADMIN_PASS \
-c “AdminConfig.save()”

# 6. 同步所有节点
echo “6. 同步所有节点…”
$WAS_HOME/profiles/Dmgr01/bin/wsadmin.sh -lang jython \
-username $ADMIN_USER \
-password $ADMIN_PASS \
-c “AdminNodeManagement.syncActiveNodes()”

# 7. 启动集群
echo “7. 启动集群…”
$WAS_HOME/profiles/Dmgr01/bin/wsadmin.sh -lang jython \
-username $ADMIN_USER \
-password $ADMIN_PASS \
-c “AdminClusterManagement.startCluster(‘$CLUSTER_NAME’)”

echo “==========================================”
echo ” 集群部署完成”
echo “==========================================”

4.2 WebSphere集群验证实战

验证集群部署是否成功:

4.2.1 验证集群状态

# 检查集群状态

# 方式1:管理控制台
# 导航到: 服务器 > 集群 > WebSphere应用程序服务器集群
# 查看集群状态是否为”已启动”

# 方式2:wsadmin命令
/WebSphere/app/profiles/Dmgr01/bin/wsadmin.sh -lang jython \
-username fgeduadmin \
-password fgedu123 \
-c “print AdminClusterManagement.getClusterState(‘fgeduCluster’)”

websphere.cluster.running

# 检查集群成员状态
wsadmin> clusterName = ‘fgeduCluster’
wsadmin> members = AdminClusterManagement.listClusterMembers(clusterName).split()
wsadmin> for member in members:
wsadmin> state = AdminServerManagement.getServerStatus(member.split(‘(‘)[1].split(‘)’)[0], member)
wsadmin> print member + ‘: ‘ + state

server1: STARTED
server2: STARTED
server3: STARTED

# 检查节点状态
wsadmin> print AdminNodeManagement.listNodes()

‘fgeduCellManager01 (deployment manager)’
‘fgeduNode01’
‘fgeduNode02’
‘fgeduNode03’

4.2.2 验证网络连通性

# 验证各节点网络连通性

# 从DMgr节点测试
ping -c 2 fgedu01.net.cn

PING fgedu01.net.cn (192.168.1.101) 56(84) bytes of data.
64 bytes from fgedu01.net.cn (192.168.1.101): icmp_seq=1 ttl=64 time=0.521 ms
64 bytes from fgedu01.net.cn (192.168.1.101): icmp_seq=2 ttl=64 time=0.432 ms

ping -c 2 fgedu02.net.cn

PING fgedu02.net.cn (192.168.1.102) 56(84) bytes of data.
64 bytes from fgedu02.net.cn (192.168.1.102): icmp_seq=1 ttl=64 time=0.512 ms
64 bytes from fgedu02.net.cn (192.168.1.102): icmp_seq=2 ttl=64 time=0.423 ms

ping -c 2 fgedu03.net.cn

PING fgedu03.net.cn (192.168.1.103) 56(84) bytes of data.
64 bytes from fgedu03.net.cn (192.168.1.103): icmp_seq=1 ttl=64 time=0.501 ms
64 bytes from fgedu03.net.cn (192.168.1.103): icmp_seq=2 ttl=64 time=0.412 ms

# 测试应用端口
curl -I http://fgedu01.net.cn:9080/

HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 1234

curl -I http://fgedu02.net.cn:9080/

HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 1234

curl -I http://fgedu03.net.cn:9080/

HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 1234

4.3 WebSphere集群管理实战

WebSphere集群日常管理操作:

4.3.1 启动和停止集群

# 启动集群

# 方式1:管理控制台
# 导航到: 服务器 > 集群 > WebSphere应用程序服务器集群
# 选择集群 > 启动

# 方式2:wsadmin命令
/WebSphere/app/profiles/Dmgr01/bin/wsadmin.sh -lang jython \
-username fgeduadmin \
-password fgedu123 \
-c “AdminClusterManagement.startCluster(‘fgeduCluster’)”

ADMU0116I: 正在记录工具信息
ADMU1601I: 正在启动集群: fgeduCluster
ADMU1602I: 已启动集群成员: server1
ADMU1602I: 已启动集群成员: server2
ADMU1602I: 已启动集群成员: server3
ADMU1603I: 已成功启动集群: fgeduCluster

# 停止集群
/WebSphere/app/profiles/Dmgr01/bin/wsadmin.sh -lang jython \
-username fgeduadmin \
-password fgedu123 \
-c “AdminClusterManagement.stopCluster(‘fgeduCluster’)”

ADMU1601I: 正在停止集群: fgeduCluster
ADMU1602I: 已停止集群成员: server1
ADMU1602I: 已停止集群成员: server2
ADMU1602I: 已停止集群成员: server3
ADMU1603I: 已成功停止集群: fgeduCluster

# 滚动重启(逐个重启成员)
/WebSphere/app/profiles/Dmgr01/bin/wsadmin.sh -lang jython \
-username fgeduadmin \
-password fgedu123 \
-c “AdminClusterManagement.rollingRestart(‘fgeduCluster’)”

4.3.2 同步节点配置

# 同步节点配置

# 同步单个节点
/WebSphere/app/profiles/AppSrv01/bin/syncNode.sh \
fgedu-dmgr.net.cn 8879 \
-username fgeduadmin \
-password fgedu123

ADMU0016I: 正在从部署管理器同步节点配置
ADMU0017I: 同步操作已完成

# 同步所有节点
/WebSphere/app/profiles/Dmgr01/bin/wsadmin.sh -lang jython \
-username fgeduadmin \
-password fgedu123 \
-c “AdminNodeManagement.syncActiveNodes()”

同步节点: fgeduNode01
同步节点: fgeduNode02
同步节点: fgeduNode03

# 查看同步状态
wsadmin> print AdminNodeManagement.checkNodeSyncState(‘fgeduNode01’)

同步

Part05-风哥经验总结与分享

5.1 WebSphere集群检查清单

WebSphere集群日常检查清单:

# WebSphere集群检查清单

每日检查:
□ DMgr运行状态
□ 所有节点代理运行状态
□ 集群运行状态
□ 集群成员运行状态
□ 应用运行状态
□ 系统资源使用率

每周检查:
□ 节点同步状态
□ 会话复制状态
□ 日志文件大小
□ 备份状态
□ 安全审计日志

每月检查:
□ 集群性能分析
□ JVM内存使用趋势
□ GC日志分析
□ 补丁更新检查
□ 容量规划评估

# 检查脚本
#!/bin/bash
# cluster_check.sh
# from:www.itpux.com.qq113257174.wx:itpux-com
# web: http://www.fgedu.net.cn

echo “=== WebSphere集群检查报告 ===”
echo “检查时间: $(date)”
echo “”

echo “1. DMgr状态:”
/WebSphere/app/profiles/Dmgr01/bin/serverStatus.sh dmgr

echo “”
echo “2. 集群状态:”
/WebSphere/app/profiles/Dmgr01/bin/wsadmin.sh -lang jython \
-username fgeduadmin -password fgedu123 \
-c “print AdminClusterManagement.getClusterState(‘fgeduCluster’)”

echo “”
echo “3. 节点列表:”
/WebSphere/app/profiles/Dmgr01/bin/wsadmin.sh -lang jython \
-username fgeduadmin -password fgedu123 \
-c “print AdminNodeManagement.listNodes()”

echo “”
echo “=== 检查完成 ===”

5.2 WebSphere集群常见问题

WebSphere集群常见问题及解决方案:

5.2.1 节点联合失败

# 问题现象:节点联合时报错

# 可能原因:
# 1. 网络不通
# 2. 端口被占用
# 3. 用户名密码错误
# 4. Cell名称冲突

# 解决方案:
# 1. 检查网络连通性
ping fgedu-dmgr.net.cn

# 2. 检查端口
netstat -tlnp | grep 8879

# 3. 检查用户名密码
/WebSphere/app/profiles/Dmgr01/bin/wsadmin.sh \
-username fgeduadmin -password fgedu123 \
-c “exit”

# 4. 检查Cell名称
cat /WebSphere/app/profiles/Dmgr01/config/cells/*/cell.xml

# 5. 清理并重新联合
/WebSphere/app/profiles/AppSrv01/bin/removeNode.sh \
-username fgeduadmin -password fgedu123
/WebSphere/app/profiles/AppSrv01/bin/addNode.sh \
fgedu-dmgr.net.cn 8879 \
-username fgeduadmin -password fgedu123

5.2.2 集群成员启动失败

# 问题现象:集群成员无法启动

# 可能原因:
# 1. 端口冲突
# 2. 内存不足
# 3. 配置错误
# 4. 权限问题

# 解决方案:
# 1. 检查端口占用
netstat -tlnp | grep -E ‘9080|9443’

# 2. 检查内存
free -h

# 3. 检查日志
tail -100 /WebSphere/app/profiles/AppSrv01/logs/server1/SystemOut.log

# 4. 检查权限
ls -la /WebSphere/app/profiles/AppSrv01/

# 5. 手动启动并查看详细日志
/WebSphere/app/profiles/AppSrv01/bin/startServer.sh server1 -trace

5.3 WebSphere集群最佳实践

基于多年WebSphere运维经验,总结以下集群最佳实践:

5.3.1 架构设计最佳实践

  • 高可用设计:至少3个节点,分布在不同物理服务器
  • 负载均衡:使用IHS或F5实现负载均衡
  • 会话管理:启用内存复制,确保会话高可用
  • 故障隔离:节点分布在不同故障域

5.3.2 运维管理最佳实践

  • 定期同步:配置变更后及时同步节点
  • 日志管理:配置日志轮转,定期清理
  • 备份策略:定期备份配置文件
  • 监控告警:建立完善的监控体系
生产环境建议:WebSphere集群生产环境必须配置高可用,建议至少3个节点,启用会话复制,配置负载均衡。定期进行故障演练,确保高可用方案有效。from WebSphere视频:www.itpux.com

本文档详细介绍了WebSphere ND 9.0.5的部署与集群搭建,包括ND版本概述、集群概念、部署管理器安装、节点联合、集群创建与配置等内容。通过学习本文档,读者可以掌握WebSphere ND集群的搭建和管理技能,为生产环境部署打下坚实基础。更多视频教程www.fgedu.net.cn

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息