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
- 部署管理器(Deployment Manager):集中管理多个节点
- 集群支持:静态集群和动态集群
- 高可用:故障转移和会话复制
- 负载均衡:工作负载管理和流量分发
- 滚动升级:零停机补丁和升级
- 集中管理:统一的配置和管理界面
1.2 WebSphere集群概念介绍
WebSphere集群是一组协同工作的应用服务器,提供高可用性和可扩展性:
1.2.1 集群类型
- 静态集群:固定数量的应用服务器,需要手动添加或删除成员
- 动态集群:根据负载自动扩展或缩减应用服务器数量
1.2.2 集群架构
┌─────────────────────────────────────────────────────────────┐
│ 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是部署管理器的运行时环境,包含:
– 配置文件: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是节点上的管理代理进程,负责:
– 与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
Part02-生产环境规划与建议
2.1 WebSphere集群规划
WebSphere集群规划需要考虑多个方面:
2.1.1 集群规模规划
小型集群(2节点):
– 适用场景:小型应用、开发测试
– 节点数:2个
– 服务器数:2-4个
– 特点:基本高可用
中型集群(3-5节点):
– 适用场景:中型企业应用
– 节点数:3-5个
– 服务器数:6-15个
– 特点:高可用+负载均衡
大型集群(5节点以上):
– 适用场景:大型企业核心系统
– 节点数:5个以上
– 服务器数:15个以上
– 特点:高可用+负载均衡+弹性扩展
# 集群规划原则
– 至少2个节点实现高可用
– 节点分布在不同物理服务器
– 考虑故障域隔离
– 预留扩展空间
2.1.2 集群类型选择
静态集群:
优点:
– 配置简单
– 资源可控
– 适合固定规模应用
缺点:
– 手动扩展
– 需要人工干预
适用场景:
– 应用规模稳定
– 不需要频繁扩展
– 运维资源有限
动态集群:
优点:
– 自动扩展
– 响应负载变化
– 智能化管理
缺点:
– 配置复杂
– 需要额外资源
适用场景:
– 负载波动大
– 需要弹性扩展
– 有自动化运维能力
# 生产环境建议
– 初期使用静态集群
– 逐步过渡到动态集群
– 结合监控实现智能扩展
2.2 WebSphere部署管理器规划
DMgr是WebSphere ND的核心,需要仔细规划:
2.2.1 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 节点资源规划
小型节点(每节点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 网络拓扑规划
┌─────────────────────────────────────────────────────────────┐
│ 负载均衡器 │
│ 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 端口规划
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
# 方式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
# 方式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 验证节点联合
# 登录管理控制台
# 导航到: 系统管理 > 节点
# 或使用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()
Part04-生产案例与实战讲解
4.1 WebSphere集群部署实战
完整的WebSphere集群部署案例:
4.1.1 部署环境信息
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 部署脚本
# 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集群日常检查清单:
每日检查:
□ 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 ND 9.0.5的部署与集群搭建,包括ND版本概述、集群概念、部署管理器安装、节点联合、集群创建与配置等内容。通过学习本文档,读者可以掌握WebSphere ND集群的搭建和管理技能,为生产环境部署打下坚实基础。更多视频教程www.fgedu.net.cn
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
