教程:在 Azure 虚拟机上手动安装 IBM WebSphere 应用程序服务器网络部署
本教程介绍如何在 GNU/Linux 上的 Azure 虚拟机(VM)上安装 IBM WebSphere 应用程序服务器(WAS)网络部署,以及如何配置 WAS 群集。
本教程介绍如何执行下列操作:
- 创建自定义虚拟网络并在网络中创建 VM。
- 使用图形界面在 VM 上手动安装 WebSphere 应用程序服务器网络部署传统(V9 或 V8.5)。
- 使用配置文件管理工具配置 WAS 群集。
- 在群集中部署并运行 Java 平台企业版(Java 企业版)应用程序。
- 通过Azure 应用程序网关向公共 Internet 公开应用程序。
- 验证成功配置。
如果你更喜欢代表 GNU/Linux VM 执行所有这些步骤的完全自动化解决方案(直接从 Azure 门户),请参阅在 Azure 虚拟机上部署 WebSphere 应用程序服务器(传统)群集。 自动化程度较低但仍加速的选项是跳过使用预配置的 Red Hat Linux 基础映像在操作系统上安装 Java 开发工具包(JDK)和 WebSphere 的步骤。 可以使用 WebSphere 应用程序服务器映像 9.0.5.x 的查询在 Azure 市场中找到这些产品/服务。
先决条件
- 如果还没有 Azure 订阅,可以在开始前创建一个免费帐户。
- 安装 Azure CLI 2.46.0 或更高版本 以运行 Azure CLI 命令。
- 本文提供有关在 Windows PowerShell 或 UNIX Bash 上调用 Azure CLI 命令的说明。 无论哪种方式,都必须安装 Azure CLI。
- 出现提示时,请在首次使用时安装 Azure CLI 扩展。 有关扩展的详细信息,请参阅 使用和管理 Azure CLI 中的扩展。
- 运行 az version 以查找安装的版本和依赖库。 若要升级到最新版本,请运行 az upgrade。
- 必须具有 IBMid。 如果没有帐户,请在登录 IBM 时创建 IBM 帐户,然后选择“创建 IBMid”。 记下 IBMid 密码和电子邮件。
- 如果计划使用 IBM WebSphere 应用程序服务器网络部署版本 8.5.5,则必须有权使用此版本的软件。 若要了解权利,请让 IBM Passport Advantage 站点的主要或辅助联系人授予你访问权限,或按照 IBM eCustomer Care 中的步骤操作。
准备环境
在本部分中,将设置安装 IBM 安装管理器和 WebSphere 应用程序服务器网络部署的传统基础结构。
假设
本教程在总共三个 VM 上配置一个 WAS 群集,其中包含一个部署管理器和两个托管服务器。 若要配置群集,必须在同一可用性集中创建以下三个 Azure VM:
- 管理员 VM(VM 名称
adminVM
)运行部署管理器。 - 托管 VM(VM 名称和
mspVM1
mspVM2
)有两个正在运行的托管服务器。
登录 Azure
如果尚未这样做,请使用 az login 命令登录到 Azure 订阅,并按照屏幕上的说明进行操作。
az login
注意
如果多个 Azure 租户与你的 Azure 凭据关联,必须指定要登录到哪个租户。 可使用 --tenant
选项来完成此操作。 例如:az login --tenant contoso.onmicrosoft.com
。
创建资源组
使用 az group create 创建资源组。 资源组名称在订阅中必须全局唯一。 因此,请考虑将唯一标识符追加到创建的任何必须唯一的名称。 一种有用的技术是使用缩写,后跟采用格式的今天日期 mmdd
。 此示例创建一个名为位置的eastus
资源组abc1110rg
:
export RESOURCE_GROUP_NAME=abc1110rg
az group create --name $RESOURCE_GROUP_NAME --location eastus
创建虚拟网络
注意
默认情况下,本部分中的 Azure CLI 命令遵循 Bash 样式,除非另有指定。
如果在 PowerShell 中运行这些命令,请务必按照前面的命令中的指示声明环境参数。
若要将命令行分解为 PowerShell 中的多行,可以使用每行末尾的反引号字符(')。
组成 WebSphere 应用程序服务器群集的资源必须使用虚拟网络相互通信,并与公共 Internet 通信。 有关规划虚拟网络的完整指南,请参阅 Azure 指南规划虚拟网络云采用框架。 有关详细信息,请参阅 Azure 虚拟网络常见问题。
使用以下步骤创建虚拟网络。 本部分中的示例创建具有地址空间 192.168.0.0/16
的虚拟网络,并为 VM 创建子网。
使用 az network vnet create 创建虚拟网络。 以下示例创建一个名为
myVNet
:az network vnet create \ --resource-group $RESOURCE_GROUP_NAME \ --name myVNet \ --address-prefixes 192.168.0.0/24
使用 az network vnet subnet create 为 WAS 群集创建子网。 以下示例创建名为
mySubnet
的子网:az network vnet subnet create \ --resource-group $RESOURCE_GROUP_NAME \ --name mySubnet \ --vnet-name myVNet \ --address-prefixes 192.168.0.0/25
使用 az network vnet subnet create 为 应用程序网关 创建子网。 以下示例创建名为
wasGateway
的子网:az network vnet subnet create \ --resource-group $RESOURCE_GROUP_NAME \ --name wasGateway \ --vnet-name myVNet \ --address-prefixes 192.168.0.128/25
创建可用性集
使用 az vm availability-set create 创建可用性集,如以下示例所示。 创建可用性集是可选的,但我们建议执行此操作。 有关详细信息,请参阅 Windows VM 的示例 Azure 基础结构演练。
az vm availability-set create \
--resource-group $RESOURCE_GROUP_NAME \
--name myAvailabilitySet \
--platform-fault-domain-count 2 \
--platform-update-domain-count 2
在 GNU/Linux 上获取或安装 WAS
以下部分介绍了在 GNU/Linux 上获取或安装 WAS 的步骤。 可以根据要求选择操作系统和 WAS 版本,但应验证它们是否在 IBM WebSphere 应用程序服务器网络部署文档中可用。
如果想要使用 WAS V9,说明使用包含最新受支持的软件版本的 Azure VM 映像。 IBM 和 Microsoft 维护映像。 有关 IBM 和 Microsoft 维护的 WAS 基础映像的完整列表,请参阅Azure 市场。
IBM 和 Microsoft 维护在建议的 Red Hat Enterprise Linux 版本上预安装的 WAS V9 的 VM 基础映像。 有关此映像的详细信息,请参阅Azure 门户。 如果采用此方法,则用于创建 VM 的Azure 市场映像为 ibm-usa-ny-armonk-hq-6275750-ibmcloud-aiops:2021-04-27-twas-cluster-base-image:2021-04-27-twas-cluster-base-image:latest
。 使用以下命令将映像名称保存在环境变量中:
export VM_URN="ibm-usa-ny-armonk-hq-6275750-ibmcloud-aiops:2023-03-27-twas-cluster-base-image:2023-03-27-twas-cluster-base-image:latest"
$Env:ADMIN_OS_DISK_ID="ibm-usa-ny-armonk-hq-6275750-ibmcloud-aiops:2023-03-27-twas-cluster-base-image:2023-03-27-twas-cluster-base-image:latest"
创建 Red Hat Enterprise Linux 计算机
使用以下步骤创建基本 VM,确保其上安装所有必需的工具,对其磁盘执行快照,然后基于快照创建副本 (replica):
使用 az vm create 创建 VM。 在此 VM 上运行部署管理器。
以下示例使用用于身份验证的用户名/密码对创建 Red Hat Enterprise Linux 计算机。 可以选择改用 TLS/SSL 身份验证。
az vm create \ --resource-group $RESOURCE_GROUP_NAME \ --name adminVM \ --availability-set myAvailabilitySet \ --image $VM_URN \ --size Standard_DS1_v2 \ --admin-username azureuser \ --admin-password Secret123456 \ --public-ip-address "" \ --nsg ""
使用以下命令为 WAS 文件创建并附加新磁盘:
使用 VM 基础映像时,已为你执行此步骤。
创建 Windows VM 并设置 X 服务器
本教程使用 WAS 的图形界面来完成安装和配置。 使用 Windows VM 作为 跳转盒 并运行 X 窗口系统服务器 ,以查看 WAS 群集三个 VM 上的图形安装程序。
使用以下步骤预配 Windows 10 计算机并安装 X 服务器。 如果已拥有与 Red Hat Enterprise Linux 计算机相同的网络中的 Windows 计算机,则无需从 Azure 预配新计算机。 可以直接转到安装 X 服务器的分区。
使用以下步骤从Azure 门户创建 Windows 10 VM:
- 从Azure 门户打开资源组
abc1110rg
。 - 选择“创建”以创建资源。
- 选择 “计算”,搜索 Windows 10,然后选择“ Microsoft Windows 10”。
- 选择所需的计划,然后选择“ 创建”。
- 使用以下值配置 VM:
- 虚拟机名称: myWindowsVM
- 图像:Windows 10 专业版
- 用户名:azureuser
- 密码: Secret123456
- 选择“许可”下的检查框。
- 选择“查看 + 创建”,然后选择“创建”。
创建 VM 和支持资源需要几分钟时间。
部署完成后,安装 X 服务器并使用它通过图形界面在 Oracle Linux 计算机上配置 WebLogic Server。
- 从Azure 门户打开资源组
使用以下步骤安装和启动 X 服务器:
- 使用远程桌面连接到
myWindowsVM
。 有关详细指南,请参阅 如何使用远程桌面进行连接并登录到运行 Windows 的 Azure 虚拟机。 必须执行本部分中myWindowsVM
的剩余步骤。 - 下载并安装 VcXsrv Windows X Server。
- 禁用防火墙。 若要允许来自 Linux VM 的通信,请使用以下步骤关闭 Windows Defender 防火墙:
- 搜索并打开 Windows Defender 防火墙。
- 找到打开或关闭 Windows Defender 防火墙,然后在专用网络设置中选择“关闭”。 可以单独保留 公共网络设置 。
- 选择“确定”。
- 关闭 Windows Defender 防火墙设置面板。
- 从桌面选择 X 启动 。
- 对于显示设置,请将显示编号设置为 -1 以使用多个窗口,然后选择“ 下一步”。
- 对于 “选择如何启动客户端”,请选择“ 启动无客户端”,然后选择“ 下一步”。
- 对于其他设置,请选择“剪贴板”和“主要选择”、“本机 opengl”和“禁用访问控制”。
- 选择下一步完成操作。
将显示一个Windows 安全警报对话框,并显示以下消息:“允许 VcXsrv windows X-server 在这些网络上通信。选择“允许访问”。
- 使用远程桌面连接到
现在,你已准备好连接到 Red Hat Enterprise Linux 计算机,并使用图形界面安装所需的工具。 以下部分指导你安装 IBM 安装管理器和 WebSphere 应用程序服务器网络部署的传统。 用于 myWindowsVM
安装和配置。
安装依赖项
使用以下步骤安装所需的依赖项,以允许从 X 服务器进行连接并启用图形安装:
使用以下步骤获取以下地址的
adminVM
专用 IP 地址:- 在Azure 门户中,选择资源组
abc1110rg
。 - 在资源列表中,选择
adminVM
。 - 在“概述”窗格中,选择“ 属性”。
- 在“网络”部分中,复制专用 IP 地址的值。 在此示例中,值为
192.168.0.4
。
- 在Azure 门户中,选择资源组
打开
myWindowsVM
命令提示符,然后使用以下命令ssh
进行adminVM
连接,如以下示例所示:set ADMINVM_IP="192.168.0.4" ssh azureuser@%ADMINVM_IP%
输入密码 Secret123456。
使用以下命令切换到
root
用户。 本教程将安装root
用户的所有工具。sudo su -
使用以下命令安装依赖项:
# dependencies for X server access yum install -y libXtst libSM libXrender # dependencies for GUI installation yum install -y gtk2 gtk3 libXtst xorg-x11-fonts-Type1 mesa-libGL
稍后,可以继续装载数据磁盘 adminVM
,因此请保持此终端的打开状态。
装载数据磁盘
使用 VM 基础映像时,已为你执行此步骤。 在 shell adminVM
中设置以下环境变量。
安装传统 WebSphere 应用程序服务器网络部署
使用基础映像时,WebSphere 应用程序服务器网络部署已安装在目录 /datadrive/IBM/WebSphere/ND/V9 中。
为托管服务器创建计算机
你安装了运行部署管理器的 adminVM
WebSphere 应用程序服务器网络部署。 你仍然需要准备计算机来运行这两个托管服务器。 接下来,从磁盘adminVM
创建快照,并为托管的分机mspVM1
和mspVM2
准备计算机。
本部分介绍使用 快照 adminVM
准备计算机的方法。 返回到登录到 Azure CLI 的终端,然后使用以下步骤。 此终端不是 Windows 跳转盒。
使用以下命令停止
adminVM
:# export RESOURCE_GROUP_NAME=abc1110rg az vm stop --resource-group $RESOURCE_GROUP_NAME --name adminVM
使用 az 快照 create 获取 OS 磁盘的快照
adminVM
:export ADMIN_OS_DISK_ID=$(az vm show \ --resource-group $RESOURCE_GROUP_NAME \ --name adminVM \ --query storageProfile.osDisk.managedDisk.id \ --output tsv) az snapshot create \ --resource-group $RESOURCE_GROUP_NAME \ --name myAdminOSDiskSnapshot \ --source $ADMIN_OS_DISK_ID
使用 az 快照 create 获取数据磁盘快照
adminVM
:export ADMIN_DATA_DISK_ID=$(az vm show \ --resource-group $RESOURCE_GROUP_NAME \ --name adminVM \ --query 'storageProfile.dataDisks[0].managedDisk.id' \ --output tsv) az snapshot create \ --resource-group $RESOURCE_GROUP_NAME \ --name myAdminDataDiskSnapshot \ --source $ADMIN_DATA_DISK_ID
使用以下命令查询稍后使用的快照 ID:
# Get the snapshot ID. export OS_SNAPSHOT_ID=$(az snapshot show \ --resource-group $RESOURCE_GROUP_NAME \ --name myAdminOSDiskSnapshot \ --query '[id]' \ --output tsv) export DATA_SNAPSHOT_ID=$(az snapshot show \ --resource-group $RESOURCE_GROUP_NAME \ --name myAdminDataDiskSnapshot \ --query '[id]' \ --output tsv)
接下来,创建 mspVM1
和 mspVM2
。
创建 mspVM1
使用以下步骤创建 mspVM1
:
使用 az disk create 创建 OS
mspVM1
磁盘:# Create a new managed disk by using the OS snapshot ID. # Note that the managed disk is created in the same location as the snapshot. az disk create \ --resource-group $RESOURCE_GROUP_NAME \ --name mspVM1_OsDisk_1 \ --source $OS_SNAPSHOT_ID
通过附加 OS 磁盘
mspVM1_OsDisk_1
,使用以下命令创建mspVM1
VM:# Get the resource ID of the managed disk. export MSPVM1_OS_DISK_ID=$(az disk show \ --resource-group $RESOURCE_GROUP_NAME \ --name mspVM1_OsDisk_1 \ --query '[id]' \ --output tsv)
# Create the VM by attaching the existing managed disk as an OS. az vm create \ --resource-group $RESOURCE_GROUP_NAME \ --name mspVM1 \ --attach-os-disk $MSPVM1_OS_DISK_ID \ --plan-publisher ibm-usa-ny-armonk-hq-6275750-ibmcloud-aiops \ --plan-product 2023-03-27-twas-cluster-base-image \ --plan-name 2023-03-27-twas-cluster-base-image \ --os-type linux \ --availability-set myAvailabilitySet \ --public-ip-address "" \ --nsg ""
# Create the VM by attaching the existing managed disk as an OS. # For `public-ip-address` and `nsg`, be sure to wrap the value "" in '' in PowerShell. az vm create ` --resource-group $Env:RESOURCE_GROUP_NAME ` --name mspVM1 ` --attach-os-disk $Env:MSPVM1_OS_DISK_ID ` --plan-publisher ibm-usa-ny-armonk-hq-6275750-ibmcloud-aiops ` --plan-product 2023-03-27-twas-cluster-base-image ` --plan-name 2023-03-27-twas-cluster-base-image ` --os-type linux ` --availability-set myAvailabilitySet ` --public-ip-address '""' ` --nsg '""'
从数据磁盘创建托管磁盘快照并将其
mspVM1
附加到:az disk create \ --resource-group $RESOURCE_GROUP_NAME \ --name mspVM1_Data_Disk_1 \ --source $DATA_SNAPSHOT_ID export MSPVM1_DATA_DISK_ID=$(az disk show \ --resource-group $RESOURCE_GROUP_NAME \ --name mspVM1_Data_Disk_1 \ --query '[id]' \ --output tsv) az vm disk attach \ --resource-group $RESOURCE_GROUP_NAME \ --vm-name mspVM1 \ --name $MSPVM1_DATA_DISK_ID
使用 WAS 创建
mspVM1
。 由于从磁盘快照adminVM
创建了 VM,因此这两个 VM 具有相同的主机名。 使用 az vm run-command 调用 将主机名更改为值mspVM1
:az vm run-command invoke \ --resource-group $RESOURCE_GROUP_NAME \ --name mspVM1 \ --command-id RunShellScript \ --scripts "sudo hostnamectl set-hostname mspVM1"
命令成功完成后,将得到类似于以下示例的输出:
{ "value": [ { "code": "ProvisioningState/succeeded", "displayStatus": "Provisioning succeeded", "level": "Info", "message": "Enable succeeded: \n[stdout]\n\n[stderr]\n", "time": null } ] }
创建 mspVM2
使用以下步骤创建 mspVM2
:
使用 az disk create 创建 OS
mspVM2
磁盘:# Create a new managed disk by using the OS snapshot ID. # Note that the managed disk is created in the same location as the snapshot. az disk create \ --resource-group $RESOURCE_GROUP_NAME \ --name mspVM2_OsDisk_1 \ --source $OS_SNAPSHOT_ID
通过附加 OS 磁盘
mspVM2_OsDisk_1
,使用以下命令创建mspVM2
VM:# Get the resource ID of the managed disk. export MSPVM2_OS_DISK_ID=$(az disk show \ --resource-group $RESOURCE_GROUP_NAME \ --name mspVM2_OsDisk_1 \ --query '[id]' \ --output tsv) # Create the VM by attaching the existing managed disk as an OS. az vm create \ --resource-group $RESOURCE_GROUP_NAME \ --name mspVM2 \ --attach-os-disk $MSPVM2_OS_DISK_ID \ --plan-publisher ibm-usa-ny-armonk-hq-6275750-ibmcloud-aiops \ --plan-product 2023-03-27-twas-cluster-base-image \ --plan-name 2023-03-27-twas-cluster-base-image \ --os-type linux \ --availability-set myAvailabilitySet \ --public-ip-address "" \ --nsg ""
从数据快照创建托管磁盘并将其附加到
mspVM2
:az disk create \ --resource-group $RESOURCE_GROUP_NAME \ --name mspVM2_Data_Disk_1 \ --source $DATA_SNAPSHOT_ID export MSPVM2_DATA_DISK_ID=$(az disk show \ --resource-group $RESOURCE_GROUP_NAME \ --name mspVM2_Data_Disk_1 \ --query '[id]' \ --output tsv) az vm disk attach \ --resource-group $RESOURCE_GROUP_NAME \ --vm-name mspVM2 \ --name $MSPVM2_DATA_DISK_ID
使用 WAS 创建
mspVM2
。 由于从磁盘快照adminVM
创建了 VM,因此这两个 VM 具有相同的主机名。 使用 az vm run-command 调用 将主机名更改为值mspVM2
:az vm run-command invoke \ --resource-group $RESOURCE_GROUP_NAME \ --name mspVM2 \ --command-id RunShellScript \ --scripts "sudo hostnamectl set-hostname mspVM2"
命令成功完成后,将得到类似于以下示例的输出:
{ "value": [ { "code": "ProvisioningState/succeeded", "displayStatus": "Provisioning succeeded", "level": "Info", "message": "Enable succeeded: \n[stdout]\n\n[stderr]\n", "time": null } ] }
请确保已完成上述两者 mspVM1
的步骤和 mspVM2
。 然后,使用以下步骤完成计算机准备:
使用 az vm start 命令启动
adminVM
,如以下示例所示:az vm start --resource-group $RESOURCE_GROUP_NAME --name adminVM
使用以下命令获取并显示专用 IP 地址,稍后部分将用到这些地址:
export ADMINVM_NIC_ID=$(az vm show \ --resource-group $RESOURCE_GROUP_NAME \ --name adminVM \ --query networkProfile.networkInterfaces'[0]'.id \ --output tsv) export ADMINVM_IP=$(az network nic show \ --ids $ADMINVM_NIC_ID \ --query ipConfigurations'[0]'.privateIPAddress \ --output tsv) export MSPVM1_NIC_ID=$(az vm show \ --resource-group $RESOURCE_GROUP_NAME \ --name mspVM1 \ --query networkProfile.networkInterfaces'[0]'.id \ --output tsv) export MSPVM1_IP=$(az network nic show \ --ids $MSPVM1_NIC_ID \ --query ipConfigurations'[0]'.privateIPAddress \ --output tsv) export MSPVM2_NIC_ID=$(az vm show \ --resource-group $RESOURCE_GROUP_NAME \ --name mspVM2 \ --query networkProfile.networkInterfaces'[0]'.id \ --output tsv) export MSPVM2_IP=$(az network nic show \ --ids $MSPVM2_NIC_ID \ --query ipConfigurations'[0]'.privateIPAddress \ --output tsv) echo "Private IP of adminVM: $ADMINVM_IP" echo "Private IP of mspVM1: $MSPVM1_IP" echo "Private IP of mspVM2: $MSPVM2_IP"
现在,所有三台计算机都已准备就绪。 接下来,配置 WAS 群集。
创建 WAS 配置文件和群集
本部分介绍如何创建和配置 WAS 群集。 在创建 WAS 配置文件和群集方面,9.x 系列和 8.5.x 系列之间没有显著差异。 本部分中的所有屏幕截图都显示 V9 作为基础。
配置部署管理器配置文件
在本部分中,你将使用 X 服务器 myWindowsVM
为部署管理器创建管理配置文件,以使用配置文件管理工具管理部署管理器单元中的服务器。 有关配置文件的详细信息,请参阅 配置文件概念。 有关创建部署管理器配置文件的详细信息,请参阅 使用部署管理器创建管理配置文件。
使用以下步骤创建和配置管理配置文件:
确保你仍在 Windows 计算机上。 如果没有,请使用以下命令远程连接到
myWindowsVM
,然后从命令提示符连接到adminVM
:set ADMINVM_IP="192.168.0.4" ssh azureuser@%ADMINVM_IP%
使用以下命令成为
root
用户并设置DISPLAY
变量:sudo su - export DISPLAY=<my-windows-vm-private-ip>:0.0 # export DISPLAY=192.168.0.5:0.0
使用以下命令启动配置文件管理工具:
cd /datadrive/IBM/WebSphere/ND/V9/bin/ProfileManagement ./pmt.sh
一段时间后,将显示配置文件管理工具。 如果未看到用户界面,检查命令提示符后面。 选择创建。
在“环境选择”窗格中,选择“管理”,然后选择“下一步”。
在 “服务器类型选择 ”窗格中,选择“ 部署管理器”,然后选择“ 下一步”。
在 “配置文件创建选项 ”窗格中,选择“ 高级配置文件创建”,然后选择“ 下一步”。
在 “可选应用程序部署 ”窗格中,确保 已选择“部署管理控制台”, 然后选择“ 下一步”。
在 “配置文件名称和位置 ”窗格中,输入配置文件名称和位置。 在此示例中,配置文件名称为
Dmgr01
. 位置取决于 WAS 版本:- 在 WAS V9 中,位置为 /datadrive/IBM/WebSphere/ND/V9/profiles/Dmgr01。
- 在 WAS V8.5 中,位置为 /datadrive/IBM/WebSphere/ND/V85/profiles/Dmgr01。
完成后,选择下一步。
在 “节点、主机和单元格名称 ”窗格中,输入节点名称、主机名和单元格名称。 主机是专用 IP 地址
adminVM
。 在此示例中,节点名称为adminvmCellManager01
,主机值为192.168.0.4
,单元格名称为adminvmCell01
。 完成后,选择下一步。在“管理员安全”窗格中,输入管理员用户名和密码。 在此示例中,用户名为
websphere
,密码为Secret123456
。 记下用户名和密码,以便你可以使用它们登录到 IBM 控制台。 完成后,选择下一步。对于安全证书(第 1 部分),请输入证书(如果有)。 此示例使用默认自签名证书。 然后,选择“下一步”。
对于安全证书(第 2 部分),请输入证书(如果有)。 此示例使用默认自签名证书。 然后,选择“下一步”。
在 “端口值分配 ”窗格中,保留默认端口,然后选择“ 下一步”。
在 “Linux 服务定义 ”窗格中,不要选择“ 以 Linux 服务的形式运行部署管理器进程”。 稍后,将创建 Linux 服务。 选择下一步。
在 “配置文件创建摘要 ”窗格中,确保信息正确,然后选择“ 创建”。
完成配置文件创建需要一段时间。 出现“配置文件创建完成”窗格时,选择“启动第一步”控制台。 然后选择“完成”。
此时会显示“第一步”控制台。 选择“ 安装验证”。
验证过程随即启动,并显示类似于以下示例的输出。 如果存在错误,则必须在继续操作之前解决这些问题。
部署管理器进程开始。 可以通过关闭输出窗格并选择控制台中的退出来关闭“第一步”控制台。
你已完成配置文件创建。 可以关闭 WebSphere 自定义工具箱。
若要访问 IBM 控制台,请使用以下命令打开防火墙端口:
firewall-cmd --zone=public --add-port=9060/tcp --permanent firewall-cmd --zone=public --add-port=9043/tcp --permanent firewall-cmd --zone=public --add-port=9809/tcp --permanent firewall-cmd --zone=public --add-port=7277/tcp --permanent firewall-cmd --zone=public --add-port=9402/tcp --permanent firewall-cmd --zone=public --add-port=9403/tcp --permanent firewall-cmd --zone=public --add-port=9352/tcp --permanent firewall-cmd --zone=public --add-port=9632/tcp --permanent firewall-cmd --zone=public --add-port=9100/tcp --permanent firewall-cmd --zone=public --add-port=9401/tcp --permanent firewall-cmd --zone=public --add-port=8879/tcp --permanent firewall-cmd --zone=public --add-port=5555/tcp --permanent firewall-cmd --zone=public --add-port=7060/tcp --permanent firewall-cmd --zone=public --add-port=11005/udp --permanent firewall-cmd --zone=public --add-port=11006/tcp --permanent firewall-cmd --zone=public --add-port=9420/tcp --permanent firewall-cmd --reload
若要在启动时自动启动部署管理器,请为该过程创建 Linux 服务。 运行以下命令以创建 Linux 服务:
export PROFILE_PATH=/datadrive/IBM/WebSphere/ND/V9/profiles/Dmgr01 # Configure SELinux so systemctl has access on server start/stop script files. semanage fcontext -a -t bin_t "${PROFILE_PATH}/bin(/.*)?" restorecon -r -v ${PROFILE_PATH}/bin # Add service. ${PROFILE_PATH}/bin/wasservice.sh -add adminvmCellManager01 -servername dmgr -profilePath ${PROFILE_PATH}
确认显示以下输出:
CWSFU0013I: Service [adminvmCellManager01] added successfully.
如果未显示输出,请在继续操作之前进行故障排除并解决问题。
部署管理器正在运行 adminVM
。 在跳转盒 Windows VM 中,可以访问 URL http://<admin-vm-private-ip>:9060/ibm/console/
上的 IBM 控制台。
配置自定义配置文件
在本部分中,你将使用 X 服务器 myWindowsVM
为托管服务器 mspVM1
创建自定义配置文件, mspVM2.
确保你仍在 Windows 计算机上。 如果没有,请远程连接到 myWindowsVM
。
配置 mspVM1 的自定义配置文件
使用以下步骤为以下项配置自定义配置文件 mspVM1
:
使用以下命令从命令提示符连接到
mspVM1
:set MSPVM1VM_IP="192.168.0.6" ssh azureuser@%MSPVM1VM_IP%
使用以下命令成为
root
用户并设置DISPLAY
变量:sudo su - export DISPLAY=<my-windows-vm-private-ip>:0.0 # export DISPLAY=192.168.0.5:0.0
若要访问部署管理器
adminVM
,请使用以下命令打开防火墙端口:firewall-cmd --zone=public --add-port=9080/tcp --permanent firewall-cmd --zone=public --add-port=9443/tcp --permanent firewall-cmd --zone=public --add-port=2809/tcp --permanent firewall-cmd --zone=public --add-port=9405/tcp --permanent firewall-cmd --zone=public --add-port=9406/tcp --permanent firewall-cmd --zone=public --add-port=9353/tcp --permanent firewall-cmd --zone=public --add-port=9633/tcp --permanent firewall-cmd --zone=public --add-port=5558/tcp --permanent firewall-cmd --zone=public --add-port=5578/tcp --permanent firewall-cmd --zone=public --add-port=9100/tcp --permanent firewall-cmd --zone=public --add-port=9404/tcp --permanent firewall-cmd --zone=public --add-port=7276/tcp --permanent firewall-cmd --zone=public --add-port=7286/tcp --permanent firewall-cmd --zone=public --add-port=5060/tcp --permanent firewall-cmd --zone=public --add-port=5061/tcp --permanent firewall-cmd --zone=public --add-port=8880/tcp --permanent firewall-cmd --zone=public --add-port=11003/udp --permanent firewall-cmd --zone=public --add-port=11004/tcp --permanent firewall-cmd --zone=public --add-port=2810/tcp --permanent firewall-cmd --zone=public --add-port=9201/tcp --permanent firewall-cmd --zone=public --add-port=9202/tcp --permanent firewall-cmd --zone=public --add-port=9354/tcp --permanent firewall-cmd --zone=public --add-port=9626/tcp --permanent firewall-cmd --zone=public --add-port=9629/tcp --permanent firewall-cmd --zone=public --add-port=7272/tcp --permanent firewall-cmd --zone=public --add-port=5001/tcp --permanent firewall-cmd --zone=public --add-port=5000/tcp --permanent firewall-cmd --zone=public --add-port=9900/tcp --permanent firewall-cmd --zone=public --add-port=9901/tcp --permanent firewall-cmd --zone=public --add-port=8878/tcp --permanent firewall-cmd --zone=public --add-port=7061/tcp --permanent firewall-cmd --zone=public --add-port=7062/tcp --permanent firewall-cmd --zone=public --add-port=11001/udp --permanent firewall-cmd --zone=public --add-port=11002/tcp --permanent firewall-cmd --zone=public --add-port=9809/tcp --permanent firewall-cmd --zone=public --add-port=9402/tcp --permanent firewall-cmd --zone=public --add-port=9403/tcp --permanent firewall-cmd --zone=public --add-port=9352/tcp --permanent firewall-cmd --zone=public --add-port=9632/tcp --permanent firewall-cmd --zone=public --add-port=9401/tcp --permanent firewall-cmd --zone=public --add-port=11005/udp --permanent firewall-cmd --zone=public --add-port=11006/tcp --permanent firewall-cmd --zone=public --add-port=8879/tcp --permanent firewall-cmd --zone=public --add-port=9060/tcp --permanent firewall-cmd --zone=public --add-port=9043/tcp --permanent firewall-cmd --reload
使用以下命令启动配置文件管理工具:
cd /datadrive/IBM/WebSphere/ND/V9/bin/ProfileManagement ./pmt.sh
一段时间后,将显示配置文件管理工具。 如果未看到用户界面,请在继续操作之前进行故障排除并解决问题。 选择创建。
在 “环境选择 ”窗格中,选择“ 自定义配置文件”,然后选择“ 下一步”。
在 “配置文件创建选项 ”窗格中,选择“ 高级配置文件创建”,然后选择“ 下一步”。
在 “配置文件名称和位置 ”窗格中,输入配置文件名称和位置。 在此示例中,配置文件名称为
Custom01
. 位置取决于 WAS 版本:- 在 WAS V9 中,位置为 /datadrive/IBM/WebSphere/ND/V9/profiles/Custom01。
- 在 WAS V8.5 中,位置为 /datadrive/IBM/WebSphere/ND/V85/profiles/Custom01。
完成后,选择下一步。
在 “节点和主机名 ”窗格中,输入节点名称和主机。 主机的值是专用 IP 地址
mspVM1
。 在此示例中,主机是192.168.0.6
节点名称。mspvm1Node01
完成后,选择下一步。在 “联合身份验证 ”窗格中,输入部署管理器的主机名和身份验证。 对于部署管理器主机名或 IP 地址,该值是此处的
adminVM
192.168.0.4
专用 IP 地址。 对于 部署管理器身份验证,在此示例中,用户名为websphere
,密码为Secret123456
。 完成后,选择下一步。对于安全证书(第 1 部分),请输入证书(如果有)。 此示例使用默认自签名证书。 然后,选择“下一步”。
对于安全证书(第 2 部分),请输入证书(如果有)。 此示例使用默认自签名证书。 然后,选择“下一步”。
在 “端口值分配 ”窗格中,保留默认端口,然后选择“ 下一步”。
在 “配置文件创建摘要 ”窗格中,确保信息正确,然后选择“ 创建”。
创建自定义配置文件需要一段时间。 在“配置文件创建完成”窗格中,清除“启动第一步”控制台检查框。 然后选择“完成”以完成配置文件创建并关闭配置文件管理工具。
若要在启动时自动启动服务器,请为进程创建 Linux 服务。 以下命令创建一个要启动
nodeagent
的 Linux 服务:export PROFILE_PATH=/datadrive/IBM/WebSphere/ND/V9/profiles/Custom01 # Configure SELinux so systemctl has access on server start/stop script files. semanage fcontext -a -t bin_t "${PROFILE_PATH}/bin(/.*)?" restorecon -r -v ${PROFILE_PATH}/bin # Add service to start nodeagent. ${PROFILE_PATH}/bin/wasservice.sh -add mspvm1Node01 -servername nodeagent -profilePath ${PROFILE_PATH}
确认显示以下输出:
CWSFU0013I: Service [mspvm1Node01] added successfully.
如果未显示输出,请在继续操作之前进行故障排除并解决问题。
你创建了一个自定义配置文件并在 nodeagent
其上运行 mspVM1
。 停止成为 root
用户,并关闭与 mspVM1
. 的 SSH 连接。
配置 mspVM2 的自定义配置文件
返回到“为 mspVM1 配置自定义配置文件”部分的开头,并执行mspVM2
相同的步骤。 也就是说,无论使用 mspVM1
什么位置或类似,都这样做 mspVM2
。
在“节点和主机名”窗格中,输入mspvm2Node01
节点名称和192.168.0.7
主机名。
你为两个托管服务器准备了自定义配置文件: mspVM1
和 mspVM2
。 继续创建 WAS 群集。
创建群集并启动服务器
在本部分中,你将使用 IBM 控制台创建 WAS 群集,并使用浏览器打开 myWindowsVM
托管服务器。 确保你仍在 Windows 计算机上。 如果没有,请远程连接到 myWindowsVM
。 然后,使用以下步骤:
打开 Microsoft Edge 浏览器并转到
http://<adminvm-private-ip>:9060/ibm/console/
。 在此示例中,IBM 控制台 URL 为http://192.168.0.4:9060/ibm/console/
. 找到登录窗格,然后输入管理用户名和密码(websphere/Secret123456
)以登录到 IBM 控制台。 现在可以管理群集和服务器。在导航窗格中,选择“服务器>群集>WebSphere 应用程序服务器群集”。 然后选择“新建”以创建新群集。
在“创建新群集”对话框中,对于步骤 1:输入基本群集信息,输入群集名称。 在此示例中,群集名称为
cluster1
. 完成后,选择下一步。对于 步骤 2:创建第一个群集成员,输入成员名称并选择节点
mspvm1Node01
。 在此示例中,成员名称为msp1
. 节点取决于 WAS 版本:- 在 WAS V9 中,节点为
mspvm1Node01 (ND 9.0.5.12)
. - 在 WAS V8.5 中,节点为
mspvm1Node01 (ND 8.5.5.24)
.
完成后,选择下一步。
- 在 WAS V9 中,节点为
对于 步骤 3:创建其他群集成员,请输入第二个成员名称并选择节点
mspvm2Node01
。 在此示例中,成员名称为msp2
. 节点取决于 WAS 版本:- 在 WAS V9 中,节点为
mspvm2Node01 (ND 9.0.5.12)
. - 在 WAS V8.5 中,节点为
mspvm2Node01 (ND 8.5.5.24)
.
- 在 WAS V9 中,节点为
选择“添加成员”以添加第二个节点。 该表列出了两个成员。 完成后,选择下一步。
对于 步骤 4:摘要,请选择“ 完成”。
创建群集需要一段时间。 创建群集后,
cluster1
将显示在表中。选择 cluster1,然后选择“查看”以查看信息。
选择“ 将更改与节点同步”,然后选择“ 保存”。
创建应完成且不会出现错误。 选择“确定”以继续。
在表中选择 cluster1 ,然后选择“ 开始 ”按钮以启动群集。
启动两个托管服务器需要一段时间。 在 “状态 ”列中,选择刷新图标(指向彼此的两个箭头)以刷新状态。
将鼠标悬停在刷新图标上。 工具提示显示 “已启动”时,可以信任群集已形成。 继续定期刷新并检查,直到工具提示显示“已启动”。
使用以下步骤配置应用程序服务器监视策略设置,以在节点代理启动后自动启动托管服务器。
使用以下步骤配置
msp1
:在导航窗格中,选择“服务器”,选择“服务器类型”,然后选择“WebSphere 应用程序服务器”。
选择应用程序服务器的
msp1
超链接。在 “服务器基础结构 ”部分中,选择“Java”和“ 进程管理”。
选择“ 监视策略”。
确保选中“自动重启”,然后选择“正在运行”作为节点重启状态。 选择“确定”。
返回到 中间件服务 窗格。 在 “消息 ”面板中,选择“ 审阅 ”链接,然后选择“ 将更改与节点同步”。 选择“保存” 以保存 和同步更改。
出现以下消息:
The configuration synchronization complete for cell.
选择“确定”退出配置。
使用以下步骤配置
msp2
:- 在导航窗格中,选择“服务器”,选择“服务器类型”,然后选择“WebSphere 应用程序服务器”。
- 选择应用程序服务器的
msp2
超链接。 - 在 “服务器基础结构 ”部分中,选择“Java”和“ 进程管理”。
- 选择“ 监视策略”。
- 确保选中“自动重启”,然后选择“正在运行”作为节点重启状态。 选择“确定”。
- 返回到 中间件服务 窗格。 在 “消息 ”面板中,选择“ 审阅 ”链接,然后选择“ 将更改与节点同步”。 选择“保存” 以保存 和同步更改。
- 出现以下消息:
The configuration synchronization complete for cell.
选择“确定”退出配置。
你配置 cluster1
了两个托管服务器, msp1
以及 msp2
。 群集已启动并正在运行。
部署应用程序
使用以下步骤部署应用程序:
在之前登录的管理控制台中,选择“应用程序>新建应用程序”,然后选择“新建企业应用程序”。
在下一个面板中,选择“远程文件系统”,然后选择“浏览”以浏览已安装服务器的文件系统。
选择以 adminvm 开头的系统。 此时会显示 VM 的文件系统。 在此处选择 V9 (或 V85),然后选择 installableApps。
在可供安装的应用程序列表中,选择 DefaultApplication.ear。 然后选择确定。
回到面板上以选择应用程序。 选择下一步。
对于“安装新应用程序”工作流中的所有剩余步骤,请选择“下一步”。 然后选择“完成”。
应显示以下消息:
Application DefaultApplication.ear installed successfully.
如果未显示此消息,请在继续操作之前进行故障排除并解决问题。选择“直接保存到主配置”链接。
需要启动应用程序。 转到应用程序>所有应用程序。 选择 DefaultApplication.ear 检查box,确保操作设置为“开始”,然后选择“提交操作”。
在“ 所有应用程序” 表中的 “状态 ”列中,选择刷新图标。 以这种方式刷新表几次后,DefaultApplication.ear 的“状态”列中应显示一个绿色箭头。
应用程序现在安装在 WAS 群集中。
使用 Azure 应用程序网关 公开 WAS
完成在 GNU/Linux 虚拟机上创建 WAS 群集后,本部分将指导你完成使用 Azure 应用程序网关 向 Internet 公开 WAS 的过程。
创建应用程序网关
使用以下步骤创建应用程序网关:
若要向 Internet 公开 WAS,需要一个公共 IP 地址。 在安装了 Azure CLI 的 shell 中,使用 az network public-ip create 创建 IP 地址,如以下示例所示:
az network public-ip create \ --resource-group $RESOURCE_GROUP_NAME \ --name myAGPublicIPAddress \ --allocation-method Static \ --sku Standard export APPGATEWAY_IP=$(az network public-ip show \ --resource-group $RESOURCE_GROUP_NAME \ --name myAGPublicIPAddress \ --query '[ipAddress]' \ --output tsv)
创建与 IP 地址关联的应用程序网关。 以下示例在默认后端池中创建具有 WebSphere 托管服务器的应用程序网关:
az network application-gateway create \ --resource-group $RESOURCE_GROUP_NAME \ --name myAppGateway \ --public-ip-address myAGPublicIPAddress \ --location eastus \ --capacity 2 \ --http-settings-port 80 \ --http-settings-protocol Http \ --frontend-port 80 \ --sku Standard_V2 \ --subnet wasGateway \ --vnet-name myVNet \ --priority 1001 \ --servers ${MSPVM1_IP} ${MSPVM2_IP}
托管服务器使用端口
9080
公开其工作负载。 通过指定后端端口9080
并为其创建探测,使用以下命令进行更新appGatewayBackendHttpSettings
:az network application-gateway probe create \ --resource-group $RESOURCE_GROUP_NAME \ --gateway-name myAppGateway \ --name clusterProbe \ --protocol http \ --host-name-from-http-settings true \ --match-status-codes 404 \ --path "/" az network application-gateway http-settings update \ --resource-group $RESOURCE_GROUP_NAME \ --gateway-name myAppGateway \ --name appGatewayBackendHttpSettings \ --host-name-from-backend-pool true \ --port 9080 \ --probe clusterProbe
使用以下命令为重定向预配重写规则:
# Create a rewrite rule set. az network application-gateway rewrite-rule set create \ --resource-group $RESOURCE_GROUP_NAME \ --gateway-name myAppGateway \ --name myRewriteRuleSet # Associated routing rules. az network application-gateway rule update \ --resource-group $RESOURCE_GROUP_NAME \ --gateway-name myAppGateway \ --name rule1 \ --rewrite-rule-set myRewriteRuleSet # Create a rewrite rule 1. az network application-gateway rewrite-rule create \ --resource-group $RESOURCE_GROUP_NAME \ --gateway-name myAppGateway \ --rule-set-name myRewriteRuleSet \ --name myRewriteRule01 \ --sequence 100 \ --response-headers Location=http://${APPGATEWAY_IP}{http_resp_Location_2} # Create a rewrite rule condition. az network application-gateway rewrite-rule condition create \ --resource-group $RESOURCE_GROUP_NAME \ --gateway-name myAppGateway \ --rule-name myRewriteRule01 \ --rule-set-name myRewriteRuleSet \ --variable "http_resp_Location" \ --ignore-case true \ --negate false \ --pattern "(https?):\/\/192.168.0.6:9080(.*)$" # Create a rewrite rule 2. az network application-gateway rewrite-rule create \ --resource-group $RESOURCE_GROUP_NAME \ --gateway-name myAppGateway \ --rule-set-name myRewriteRuleSet \ --name myRewriteRule02 \ --sequence 100 \ --response-headers Location=http://${APPGATEWAY_IP}{http_resp_Location_2} # Create a rewrite rule condition. az network application-gateway rewrite-rule condition create \ --resource-group $RESOURCE_GROUP_NAME \ --gateway-name myAppGateway \ --rule-name myRewriteRule02 \ --rule-set-name myRewriteRuleSet \ --variable "http_resp_Location" \ --ignore-case true \ --negate false \ --pattern "(https?):\/\/192.168.0.7:9080(.*)$"
现在可以使用以下命令生成的 URL 访问应用程序:
echo "http://${APPGATEWAY_IP}/snoop/"
注意
此示例使用 HTTP 设置对 WAS 服务器的简单访问。 如果想要安全访问,请按照端到端 TLS 中的说明使用 应用程序网关 配置 TLS/SSL 终止。
此示例不通过应用程序网关公开 IBM 控制台。 若要访问 IBM 控制台,可以使用 Windows 计算机 myWindowsVM
或向其 adminVM
分配公共 IP 地址。
如果不想使用跳转框 myWindowsVM
访问 IBM 控制台,但想要将其公开到公共网络,请使用以下命令将公共 IP 地址 adminVM
分配给:
# Create a public IP address.
az network public-ip create \
--resource-group $RESOURCE_GROUP_NAME \
--name myAdminVMPublicIPAddress \
--allocation-method Static \
--sku Standard
# Create a network security group.
az network nsg create \
--resource-group $RESOURCE_GROUP_NAME \
--name adminnsg
# Create an inbound rule for the network security group.
az network nsg rule create \
--resource-group $RESOURCE_GROUP_NAME \
--nsg-name adminnsg \
--name ALLOW_IBM_CONSOLE \
--access Allow \
--direction Inbound \
--source-address-prefixes '["*"]' \
--destination-port-ranges 9043 \
--protocol Tcp \
--priority 500
# Update the network adapter with the network security group.
az network nic update \
--resource-group $RESOURCE_GROUP_NAME \
--name adminVMVMNic \
--network-security-group adminnsg
# Update the network adapter with the public IP address.
az network nic ip-config update \
--resource-group $RESOURCE_GROUP_NAME \
--name ipconfigadminVM \
--nic-name adminVMVMNic \
--public-ip-address myAdminVMPublicIPAddress
export ADMIN_PUBLIC_IP=$(az network public-ip show \
--resource-group $RESOURCE_GROUP_NAME \
--name myAdminVMPublicIPAddress \
--query '[ipAddress]' \
--output tsv)
echo "IBM Console public URL: https://${ADMIN_PUBLIC_IP}:9043/ibm/console/"
测试 WAS 群集配置
你已完成配置 WAS 群集并将 Java 企业版 应用程序部署到该群集。 使用以下步骤访问应用程序以验证所有设置:
- 打开 Web 浏览器。
- 使用 URL
http://<gateway-public-ip-address>/snoop/
转到应用程序。 - 当你不断刷新浏览器时,应用会循环访问服务器实例。 查看主机请求标头的值,并注意它多次重新加载后会更改。
清理资源
已完成 WAS 群集配置。 以下部分介绍如何删除所创建的资源。
清理 Windows 计算机
可以使用以下命令删除 Windows 计算机 myWindowsVM
。 或者,可以关闭 Windows 计算机并继续将其用作正在进行的群集维护任务的跳转盒。
export WINDOWSVM_NIC_ID=$(az vm show \
--resource-group ${RESOURCE_GROUP_NAME} \
--name myWindowsVM \
--query networkProfile.networkInterfaces[0].id \
--output tsv)
export WINDOWSVM_NSG_ID=$(az network nic show \
--ids ${WINDOWSVM_NIC_ID} \
--query networkSecurityGroup.id \
--output tsv)
export WINDOWSVM_DISK_ID=$(az vm show \
--resource-group ${RESOURCE_GROUP_NAME} \
--name myWindowsVM \
--query storageProfile.osDisk.managedDisk.id \
--output tsv)
export WINDOWSVM_PUBLIC_IP=$(az network public-ip list \
-g ${RESOURCE_GROUP_NAME} --query [0].id \
--output tsv)
echo "deleting myWindowsVM"
az vm delete --resource-group ${RESOURCE_GROUP_NAME} --name myWindowsVM --yes
echo "deleting nic ${WINDOWSVM_NIC_ID}"
az network nic delete --ids ${WINDOWSVM_NIC_ID}
echo "deleting public-ip ${WINDOWSVM_PUBLIC_IP}"
az network public-ip delete --ids ${WINDOWSVM_PUBLIC_IP}
echo "deleting disk ${WINDOWSVM_DISK_ID}"
az disk delete --yes --ids ${WINDOWSVM_DISK_ID}
echo "deleting nsg ${WINDOWSVM_NSG_ID}"
az network nsg delete --ids ${WINDOWSVM_NSG_ID}
清理所有资源
使用以下命令删除 abc1110rg
:
az group delete --name $RESOURCE_GROUP_NAME --yes --no-wait
后续步骤
通过以下链接详细了解如何在 Azure 上部署 IBM WebSphere 系列:
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈