设为首页 收藏本站
查看: 1698|回复: 0

[经验分享] 配置WebLogic Server 11g 集群、Session复制(Windows)

[复制链接]

尚未签到

发表于 2015-11-3 07:49:35 | 显示全部楼层 |阅读模式
1.    预备知识    4
2.    本文环境    5
3.    配置说明    6
3.1.    集群定义    6
3.2.    集群的好处    7
3.3.    关键功能    7
3.4.    集群架构    7
3.5.    配置集群应用的必要条件    9
3.6.    配置前的准备工作    9
4.    配置WebLogic Server 集群    11
4.1.    主控服务器配置    11
4.1.1.    使用 ConfigurationWizard 进行配置    11
4.1.2.    创建新的 Domain    11
4.1.3.    选择安装域源    12
4.1.4.    指定域的名称和位置    12
4.1.5.    配置管理员用户名和密码    13
4.1.6.    配置域启动模式和JDK    13
4.1.7.    选择可选配置    14
4.1.8.    配置管理服务器    14
4.1.9.    配置受管理服务器    15
4.1.10.    配置群集信息    16
4.1.11.    将"受管理服务器"添加到"集群"中    17
4.1.12.    创建HTTP 代理应用程序    17
4.1.13.    配置计算机    18
4.1.14.    配置向计算机分配服务器    18
4.1.15.    检查WebLogic 域配置    19
4.1.16.    正在创建域    19
4.1.17.    编辑WebLogic 服务启动文件    20
4.2.    受控服务器配置    22
4.2.1.    使用 ConfigurationWizard 进行配置    22
4.2.2.    创建新的 Domain    22
4.2.3.    选择安装域源    23
4.2.4.    指定域的名称和位置    23
4.2.5.    配置管理员用户名和密码    24
4.2.6.    配置域启动模式和JDK    24
4.2.7.    选择可选配置    25
4.2.8.    配置管理服务器    25
4.2.9.    配置受管理服务器    26
4.2.10.    配置群集信息    26
4.2.11.    配置计算机    27
4.2.12.    检查WebLogic 域配置    27
4.2.13.    正在创建域    28
4.2.14.    编辑WebLogic 服务启动文件    28
4.3.    启动WebLogic 服务    30
4.4.    将应用部署到集群上    36
4.4.1.    点击"部署"菜单    36
4.4.2.    锁定并编辑    37
4.4.3.    开始安装    37
4.4.4.    部署成功验证    41
4.4.5.    负载均衡测试    43
4.5.    关闭WebLogic 服务    44
4.5.1.    在控制台中关闭服务    44
4.5.2.    在cmd命令行下关闭服务    45
4.5.3.    按下Ctrl+C强制关闭    46
5.    Session复制    47
5.1.    HTTP会话状态复制介绍    47
5.1.1.    对JSP和Servlet提供集群支持    47
5.1.2.    实现方式    47
5.1.3.    Session复制要求条件    47
5.2.    Weblogic配置要求    48
5.2.1.    机器    48
5.2.2.    复制组    48
5.2.3.    分级服务器    48
5.2.4.    weblogic.xml部署描述配置    48
5.3.    内存复制方式    49
5.3.1.    服务器和会话对象    49
5.3.2.    复制组故障接管    50
5.3.3.    内存复制的要求    50
5.3.4.    配置内存复制    50
5.4.    内存复制配置步骤    51
5.4.1.    复制组规划    51
5.4.2.    复制组配置    52
5.4.3.    Session复制验证    54



  • 预备知识
什么是 DomainServerMachineCluster
DSC0000.jpg
图1
Domain
Domain WebLogic Server 实例的基本管理单元。所谓Domain 就是,由配置为
Administrator Server WebLogic Server 实例管理的逻辑单元,这个单元是有所有相关资源
的集合。
为什么用域?
域管理的特征:

  • 对应用来说是透明的
  • 可以出于技术或业务的理由来配置、管理
WLS(WebLogic Server)域可以用来分离:

  • 开发/测试/上线的应用
  • 管理和操作的任务
  • 组织或业务分配
Server
Server 是一个相对独立的,为实现某些特定功能而结合在一起的单元。
服务器是执行在单一Java虚拟机(JVM)中weblogic.Server类的实例。
最多和一个WLS机器关联,占用一定数量的RAM,是多线程的。
Machine
Machine 是可以对应到服务器所在的物理硬件,可以是Unix 或non-Unix 类型,可以用来远程管理和监控,用于加强fail over 管理。

Cluster
Cluster 也是一个逻辑概念,用来分组用途相同的服务器实例,一个域中可以有多个集
群。集群用来实现负载均衡和容错。

WebLogic集群技术指通过一组服务器协同工作,在多台机器间复制应用表示层和应用逻辑层的能力,实现关键业务系统的负载分布,消除个别故障点。

Domain and Server 的关系
一个 Domain 可以包含一个或多个WebLogic Server 实例,甚至是Server 集群。一个
Domain 中有一个且只能有一个Server 担任管理Server 的功能,其它的Server 具体实现一个特定的逻辑功能。


  • 本文环境
平台:Windows XP SP3, 4G RAMWindows 2003 Enterprise2GRAM
软件:WebLogic Server 11gR1

  • 配置说明

    • 集群定义

一个集群就是一组协同工作的WebLogic服务器实例。
集群提供:高可用性、负载均衡、扩展性。
集群图示:图2、图3都是集群在应用环境中的示例。
DSC0001.jpg

图2

DSC0002.jpg

图3

  • 集群的好处


  • 扩展性
扩展性就是可以为应用提供更多容量的能力,在这种情况下,增加额外的服务器,而不必对主体架构进行修改。

  • 高可用性
高可用性确保了集群中一台服务器发生故障时,其他服务器可以接管工作,因此对客户端没有影响。


  • 关键功能


  • 应用故障接管
当应用中一个执行任务的对象变得不可用时,另外对象可以接管并完成工作。

  • 站点故障接管
当单个站点上所有服务和应用都失败时,它们可以切换到其他站点,继续处理。

  • 服务器迁移
当一台服务器失败时,钉住的服务可以迁移到集群中其他服务器上。

  • 负载均衡
跨越多个服务器的平均任务分发与通讯。


  • 集群架构


  • 通常的,应用被分隔成多个层次,每层代表了不同的功能,WebLogic对Web层、展现层、业务或对象层都提供集群支持。
  • 好架构某种程度上是主观的,但是有一些全局的考虑

    • 性能
    • 有效的状态持久性
    • 最佳的负载均衡
    • 有效的故障接管
    • 可靠的通讯

  • 有两种主要集群架构可以选择

    • 基本集群架构

基本集群架构将静态HTTP,展现逻辑,业务逻辑和对象组合在一个集群中。如图4所示。(本文配置采用的是该结构)
DSC0003.jpg
图4

  • 多层集群架构
Web层和业务逻辑服务可以分布在两个集群中。如图5所示。
DSC0004.jpg
图5

  • 何时使用多层集群架构
多层集群架构推荐给具有如下需求的Web应用:

  • 对集群化EJB方法调用的负载均衡
  • 在提供HTTP内容的服务器与提供集群对象的服务器之间实现负载均衡灵活性
  • 高可用性(更少的单点故障)
  • 更灵活的安全性


  • 基本集群架构的优劣基本集群架构具有如下优势:

    • 易于管理
    • 灵活的负载均衡
    • 强壮的安全性
    基本集群架构具有如下劣势:

    • 不能负载均衡EJB方法调用
    • 跨层的负载均衡可能变得不平衡

  • 多层集群架构的优劣多层集群架构具有如下优势:

    • 改进的负载均衡
    • EJB方法的负载均衡
    • 更高可用性
    • 改进的安全选项
    多层集群架构具有如下劣势:

    • 当展现层频繁调用业务逻辑时会制造瓶颈
    • 增加了防火墙配置复杂性



  • 配置集群应用的必要条件


  • 集群中的所有 Server 必须位于同一网段,并且必须是IP 广播(UDP)可到达的
  • 集群中的所有 Server 必须使用相同的版本,包括Service Pack
  • 集群中的 Server 必须使用永久的静态IP 地址。动态IP 地址分配不能用于集群环境。如果服务器位于防火墙后面,而客户机位于防火墙外面,那么服务器必须有公共的静态IP 地址,只有这样,客户端才能访问服务器

  • 配置前的准备工作
在配置集群应用前要对集群的配置信息有一个良好的设计,下面就是我们这次配置的集
群信息:在两台台机器上配置集群(每台机上都要安装相同版本的WebLogic 11g 产品)。见表1。
提示:建议您的测试服务器有4G 以上的内存,否则服务器启动过程将会很漫长。
机器类型
操作系统
网络配置
角色
备注
Lenovo PC
Windows XP SP3
IP: 172.20.50.96
PORT:7001
Administrator Server
管理服务器
Lenovo PC
Windows XP SP3
IP: 172.20.50.96
PORT:8080
Proxy Server
代理服务器
Lenovo PC
Windows XP SP3
IP: 172.20.50.96
PORT:7003
Managed Server
受管理服务器
Lenovo PC
Windows XP SP3
IP: 172.20.50.96
PORT:7004
Managed Server
受管理服务器
Lenovo PC
Windows XP SP3
IP: 172.20.50.96
PORT:7005
Managed Server
受管理服务器
Lenovo PC
Windows 2003 Enterprise
IP: 172.20.50.181
PORT:7006
Managed Server
受管理服务器
Lenovo PC
Windows 2003 Enterprise
IP: 172.20.50.181
PORT:7007
Managed Server
受管理服务器
表1


  • 配置WebLogic Server 集群

    • 主控服务器配置

主控服务器在安装Window Xp的PC机下配置。






      • 使用 Configuration Wizard 进行配置


选择"「开始」菜单à程序àOracle WebLogicàWebLogicServer 11gR1àToolsàConfiguration Wizard"
DSC0005.jpg
图6

  • 创建新的 Domain
选择"创建新的Weblogic域",单击"下一步"按钮。
DSC0006.jpg
图7

  • 选择安装域源
默认选择安装"Basic WebLogic Server Domain", 单击"下一步"按钮。
DSC0007.jpg
图8

  • 指定域的名称和位置
输入要创建的域名和位置,此处域名输入为 MyCluster_Domain,输入完成后单击"下一步"按钮。本文安装位置为E:\study\WebLogic11g\user_projects\domains目录下。
DSC0008.jpg
图9

  • 配置管理员用户名和密码
输入 WebLogic 管理员管理服务器(AdminServer)用户名和密码,在此以"weblogic"作用登录管理服务器的用户名,密码为"weblogic1",单击"下一步"按钮。
DSC0009.jpg
图10

  • 配置域启动模式和JDK
选择"生产模式"和"JRockit SDK"后,单击"下一步"按钮。
DSC00010.jpg
图11

  • 选择可选配置
选择"管理服务器","受管服务器、群集和计算机"后,单击"下一步"按钮。
DSC00011.jpg
图12

  • 配置管理服务器
输入 Administrator Server 名称,监听地址(可选所有IP或者指定IP),监听端口,如果需要SSL支持的话可以在"SSLenabled"后面的复选取框上打勾,配置SSL 监听端口,单击"下一步"按钮。
DSC00012.jpg
图13

  • 配置受管理服务器
注意:代理服务器实际上也是一个受管理服务器
点击"添加",输入 Managed Server 的名称,监听地址,监听端口,如果需要SSL 支持的话,可以在"SSLenabled"复选框上打勾,配置SSL 监听端口。
可以配置多个Managed Server,名称和端口都不要相同,如果IP地址在选择的下拉框中没有,可以手动填写,完成后单击"下一步"按钮。

DSC00013.jpg
图14


  • 配置群集信息
单击"添加",输入Cluster 的名称My_Cluster_1,Multicast address 组播地址(用来进行集群间的状态通信)和端口7777Cluster 的各个服务器地址和端口(Cluster 地址可输可不输,本文进行了输入,地址为:"172.20.50.96:7003,172.20.50.96:7004,172.20.50.96:7005,172.20.50.181:7006,172.20.50.181:7007")。完成后单击"下一步"按钮。

提示:当用Configuration Wizard 创建集群时,您只能选择multicast,虽然官方文档推荐新建集群时使用unicast 消息机制;若选择unicast,您只能在AdministrationConsole 中修改集群的配置,参考Oracle Fusion Middleware Oracle WebLogic Server Administration Console 帮助文档中的:"Createand configure clusters".

提示: multicast address IP 范围必须位于224.0.0.0 239.255.255.255 之间.
WebLogic Server 使用的multicast 默认值为 239.192.0.0. 您不能使用类似于x.0.0.1的多播地址.

DSC00014.jpg
图15

  • 将"受管理服务器"添加到"集群"中
选择左面列表中的Managed Server,将其添加到右面的列表中,注意这里代理服务器Proxy_Server 不要添加到右边,之后单击"下一步"按钮。
DSC00015.jpg
图16

  • 创建HTTP 代理应用程序
选中"创建HTTP 代理"复选框,My_Cluster_1 代理服务器选择Proxy_Server,单击"下一步"按钮。
DSC00016.jpg
图17

  • 配置计算机
点击"添加",输入计算机的名称,监听地址,监听端口,单击"下一步"按钮。
DSC00017.jpg
图18

  • 配置向计算机分配服务器
选择左面列表中的Admin ServerManaged ServersProxyServer,将其添加到右面的计算机下,之后单击"下一步"按钮。
DSC00018.jpg
图19

  • 检查WebLogic 域配置
在此检查前面所做的配置,如果没有问题单击"创建"按钮。
DSC00019.jpg
图20

  • 正在创建域
创建无误后,单击"完成"按钮
DSC00020.jpg
图21

  • 编辑WebLogic 服务启动文件


  • 编辑口令文件
在刚才创建的域目录下建立 boot.properties 文件,内容为:
username=weblogic
password=weblogic1
在本文的机器上,该文件的存储位置是:
E:\study\WebLogic11g\user_projects\domains\MyCluster_Domain\boot.properties


  • 编辑启动管理服务器的文件(可选,可直接运行startWebLogic.cmd 即可)
在刚才创建的域目录下的bin 目录中创建startAdminServer.cmd,内容为:
@ECHO OFF
@REM 启动管理服务器.
start .\startWebLogic
在本文的机器上,该文件的存储位置是:
E:\study\WebLogic11g\user_projects\domains\MyCluster_Domain\bin\startAdminServer.cmd


  • 编辑启动代理服务器的文件
在刚才创建的域目录下的 bin 目录中创建startProxyServer.cmd,内容为:
@ECHO OFF
@REM 启动代理服务器.
@REM 使用startManagedWeblogic 命令启动ManagedServer,它的命令格式是:
@REM startManagedWeblogic.cmd Managed Server 的名称 Administrator Server 地址
@REM startManagedWeblogic 受管理服务器名称管理服务器 URL
start .\startManagedWebLogic Proxy_Server http://172.20.50.96:7001
在本文的机器上,该文件的存储位置是:
E:\study\WebLogic11g\user_projects\domains\MyCluster_Domain\bin\startProxyServer.cmd


  • 编辑启动受管理服务器(ManagedServer_1)的文件
在刚才创建的域目录下的 bin 目录中创建startManagedServer_1.cmd,内容为:
@ECHO OFF
@REM 启动受管理服务 Cluster_ManagedServer_1.
@REM 使用startManagedWeblogic 命令启动ManagedServer,它的命令格式是:
@REM startManagedWeblogic.cmd Managed Server 的名称 Administrator Server 地址
@REM startManagedWeblogic 受管理服务器名称管理服务器 URL
start .\startManagedWebLogic Cluster_ManagedServer_1 http://172.20.50.96:7001
在本文的机器上,该文件的存储位置是:
E:\study\WebLogic11g\user_projects\domains\MyCluster_Domain\bin\startManagedServer_1.cmd


  • 编辑启动代理服务器(ManagedServer_2)的文件
在刚才创建的域目录下的 bin 目录中创建startManagedServer_2.cmd,内容为:
@ECHO OFF
@REM 启动受管理服务 Cluster_ManagedServer_2.
@REM 使用startManagedWeblogic 命令启动ManagedServer,它的命令格式是:
@REM startManagedWeblogic.cmd Managed Server 的名称 Administrator Server 地址
@REM startManagedWeblogic 受管理服务器名称管理服务器 URL
start .\startManagedWebLogic Cluster_ManagedServer_2 http://172.20.50.96:7001
在本文的机器上,该文件的存储位置是:
E:\study\WebLogic11g\user_projects\domains\MyCluster_Domain\bin\startManagedServer_2.cmd


  • 编辑启动代理服务器(ManagedServer_3)的文件
在刚才创建的域目录下的 bin 目录中创建startManagedServer_3.cmd,内容为:
@ECHO OFF
@REM 启动受管理服务 Cluster_ManagedServer_3.
@REM 使用startManagedWeblogic 命令启动ManagedServer,它的命令格式是:
@REM startManagedWeblogic.cmd Managed Server 的名称 Administrator Server 地址
@REM startManagedWeblogic 受管理服务器名称管理服务器 URL
start .\startManagedWebLogic Cluster_ManagedServer_3 http://172.20.50.96:7001
在本文的机器上,该文件的存储位置是:
E:\study\WebLogic11g\user_projects\domains\MyCluster_Domain\bin\startManagedServer_3.cmd
(注:若使用 startManagedWebLogic 命令启动Managed Server,它的命令格式是:
startManagedWebLogic.cmd Managed Server 的名称AdministratorServer 地址)

附启动文件:
DSC00021.jpg


  • 受控服务器配置
受控服务器在安装Window 2003 Enterprise的PC机下配置。

  • 使用 Configuration Wizard 进行配置
选择"「开始」菜单à程序àOracle WebLogicàWebLogicServer 11gR1àToolsàConfiguration Wizard"
DSC00022.jpg
图22

  • 创建新的 Domain
选择"创建新的Weblogic域",单击"下一步"按钮。
DSC00023.jpg
图23

  • 选择安装域源
默认选择安装"Basic WebLogic Server Domain", 单击"下一步"按钮。
DSC00024.jpg
图24

  • 指定域的名称和位置
输入要创建的域名和位置,此处域名可输入为 MyCluster_Domain,输入完成后单击"下一步"按钮。本文安装位置为D:\weblogic\weblogic11g\user_projects\domains目录下。
DSC00025.jpg
图25

  • 配置管理员用户名和密码
输入 WebLogic 管理员管理服务器(AdminServer)用户名和密码,在此以"weblogic"作用登录管理服务器的用户名,密码为"weblogic1",单击"下一步"按钮。
DSC00026.jpg
图26

  • 配置域启动模式和JDK
选择"生产模式"和"JRockit SDK"后,单击"下一步"按钮。
DSC00027.jpg
图27

  • 选择可选配置
选择"管理服务器","受管服务器、群集和计算机"后,单击"下一步"按钮。
DSC00028.jpg
图28

  • 配置管理服务器
输入 Administrator Server 名称,监听地址(可选所有IP或者指定IP),监听端口,如果需要SSL支持的话可以在"SSLenabled"后面的复选取框上打勾,配置SSL 监听端口,单击"下一步"按钮。
DSC00029.jpg
图29

  • 配置受管理服务器
注意:受管理服务器配置的名称,监听地址,监听端口要和在主控服务器配置中的一致(参见4.1.9.配置受管理服务器)。
点击"添加",输入 Managed Server 的名称,监听地址,监听端口,如果需要SSL 支持的话,可以在"SSLenabled"复选框上打勾,配置SSL 监听端口。
DSC00030.jpg
图30

  • 配置群集信息
这里不做集群配置,单击"下一步"按钮。
DSC00031.jpg
图31

  • 配置计算机
这里不做计算机配置,单击"下一步"按钮。
DSC00032.jpg
图32

  • 检查WebLogic 域配置
在此检查前面所做的配置,如果没有问题单击"创建"按钮。
DSC00033.jpg
图33

  • 正在创建域
创建无误后,单击"完成"按钮
DSC00034.jpg
图34

  • 编辑WebLogic 服务启动文件


  • 编辑口令文件
在刚才创建的域目录下建立 boot.properties 文件,内容为:
username=weblogic
password=weblogic1
在本文的机器上,该文件的存储位置是:
D:\weblogic\weblogic11g\user_projects\domains\MyCluster_Domain\boot.properties


  • 编辑启动管理服务器的文件(可选,可直接运行startWebLogic.cmd 即可)
在刚才创建的域目录下的bin 目录中创建startAdminServer.cmd,内容为:
@ECHO OFF
@REM 启动管理服务器.
start .\startWebLogic
在本文的机器上,该文件的存储位置是:
D:\weblogic\weblogic11g\user_projects\domains\MyCluster_Domain\bin\startAdminServer.cmd


  • 编辑启动受管理服务器(ManagedServer_4)的文件
在刚才创建的域目录下的 bin 目录中创建startManagedServer_4.cmd,内容为:
@ECHO OFF
@REM 启动受管理服务 Cluster_ManagedServer_4.
@REM 使用startManagedWeblogic 命令启动ManagedServer,它的命令格式是:
@REM startManagedWeblogic.cmd Managed Server 的名称 Administrator Server 地址
@REM startManagedWeblogic 受管理服务器名称管理服务器 URL
start .\startManagedWebLogic Cluster_ManagedServer_4 http://172.20.50.96:7001
在本文的机器上,该文件的存储位置是:
D:\weblogic\weblogic11g\user_projects\domains\MyCluster_Domain\bin\startManagedServer_4.cmd


  • 编辑启动代理服务器(ManagedServer_5)的文件
在刚才创建的域目录下的 bin 目录中创建startManagedServer_5.cmd,内容为:
@ECHO OFF
@REM 启动受管理服务 Cluster_ManagedServer_5.
@REM 使用startManagedWeblogic 命令启动ManagedServer,它的命令格式是:
@REM startManagedWeblogic.cmd Managed Server 的名称 Administrator Server 地址
@REM startManagedWeblogic 受管理服务器名称管理服务器 URL
start .\startManagedWebLogic Cluster_ManagedServer_5 http://172.20.50.96:7001
在本文的机器上,该文件的存储位置是:
D:\weblogic\weblogic11g\user_projects\domains\MyCluster_Domain\bin\startManagedServer_5.cmd

附启动文件:
DSC00035.jpg


  • 启动WebLogic 服务
建议您按照顺序启动服务器,只有当管理服务器首先启动完毕后,受管服务器再启动。
启动的过程中,会让输入管理员用户名(weblogic)和密码(weblogic1),当所有服务器的控制台上出现Server started in RUNNING mode 字样时,整个集群启动完毕。

  • 启动主控服务器:

    • 双击"startAdminServer.cmd"或者"startWebLogic.cmd"启动管理服务器
      DSC00036.jpg


图35

  • 双击"startProxyServer.cmd"启动代理服务器
    DSC00037.jpg

图36


  • 双击"startManagedServer_1.cmd"启动受管理服务器1 DSC00038.jpg
图37


  • 双击"startManagedServer_2.cmd"启动受管理服务器2 DSC00039.jpg
图38


  • 双击"startManagedServer_3.cmd"启动受管理服务器3 DSC00040.jpg
图39


  • 启动受控服务器:

    • 双击"startManagedServer_4.cmd"启动受管理服务器4 DSC00041.jpg
      图40

    • 双击"startManagedServer_5.cmd"启动受管理服务器5 DSC00042.jpg
      图41


  • 验证集群启动

    • 在浏览器地址栏里输入http://172.20.50.96:7001/console 地址,输入用户名weblogic和密码weblogic1,进入 Weblogic服务器管理控制台页面。
      DSC00043.jpg

      图42

      DSC00044.jpg
      图43

    • 点击左面的域结构中的MyCluster_Domainà环境à服务器,如下图,此时在界面主区域就能看到所有server的状态,如图45 DSC00045.jpg
      图44

      DSC00046.jpg
      图45




  • 将应用部署到集群上









      • 点击"部署"菜单


登录进控制台后点击左边"域结构"中的"部署"菜单,如下图
DSC00047.jpg
图46
此时在界面主区域可以看到已部署的应用,如下图
DSC00048.jpg
图47


  • 锁定并编辑
点击更改中心里的"锁定并编辑"按钮,此时在界面主区域中的"安装"按钮会变成可用状态,如下图
DSC00049.jpg
图48

  • 开始安装
点击"安装"按钮,进入部署步骤,选择要部署的文件,点击下一步按钮

图49
按照默认设置,点击下一步按钮

图50

选择集群的一部分进行安装,这里为被管理的服务器都进行了安装,点击下一步按钮

图51
按照默认设置,点击下一步按钮

图52

点击完成按钮

图53

点击保存按钮,界面主区域中上方显示"设置更新成功"字样

图54

点击左上角"更改中心"中的"激活更改"按钮,完成后,界面主区域中上方显示"已激活所有更改。不需要重新启动。"消息


图55


本文部署使用的例子:



  • 部署成功验证
点击左面"域结构"中的"部署链接",在主界面中会显示刚刚部署成功的"ShoppingCart"工程,选择该工程左面的checkbox,点击"启动"按钮,选择"为所有请求提供服务"

图56
点击"是"按钮,进入下一页面,ShoppingCart工程的状态会显示"start running"字样,过一会,再点击左边"域结构"中的"部署"菜单,ShoppingCart工程的状态会显示"活动"字样,可以点击"活动"链接查看具体部署情况。

图57

在浏览器中输入http://172.20.50.96:8080/ShoppingCart/ClusterTest.jsp,页面上会显示"Cluster Test!"字样。

图58
本文在Windows 2003 Enterprise上的被管理服务器的控制台打出:Cluster Test! 在哪台被控服务器上打印,每次会不一样。

图59
ClusterTest.jsp文件内容:
<HTML>
<HEAD><TITLE>Cluster Test Page</TITLE></HEAD>
<BODY>
<%
out.println(&quot;Cluster Test!&quot;);
System.out.println(&quot;Cluster Test!&quot;);
%>
</BODY>
</HTML>

  • 负载均衡测试
通过 Apache 中所带的ab包(只需要单个文件ab.exe 即可,本文安装了Apache2.2,ab.exe所在目录为C:\Program Files\Apache Software Foundation\Apache2.2\bin)来进行并发访问的模拟测试,使用如下的命令就可以完成压力测试。

ab.exe -n 100 -c 10 http://172.20.50.96:8080/ShoppingCart/ClusterTest.jsp
参数 n 代表请求的总数量
参数 c 代表并发的请求数
url 为要测试压力的地址


图60
压力测试完成后,我们从Managed Servers 的控制台上可以看到打印输出,ManagedServer_1,ManagedServer_2,ManagedServer_4 都打印出了&quot;Cluster Test!&quot;字样(这里ManagedServer_3,ManagedServer_5没有打出,不同的测试环境,哪个受管理服务器打印可能不同),这说明,在并发请求的情况下,集群能够将请求进行分发,以达到负载平衡的目的。

  • 关闭WebLogic 服务

    • 在控制台中关闭服务

进入控制台,在左侧&quot;控制台&quot;点击&quot;服务器&quot;链接,在界面主区域中点击&quot;控制&quot;tab按钮,选择要关闭的服务器,如下图。

图61
点击&quot;关闭&quot;按钮,选择&quot;当工作完成时&quot;或者&quot;立即强制关闭&quot;,建议您按照顺序关闭服务器,当受管理服务器和代理服务器关闭后,再关闭管理服务器。

图62

下图是一个受管理服务器关闭后的控制台消息。

图63

  • 在cmd命令行下关闭服务
这里以关闭一个受管理服务器为例,关闭代理服务器和管理服务器一样,都要用到stopManagedWebLogic.cmd命令,&#26684;式为&quot;stopManagedWebLogic.cmd 要关闭服务的名字&quot;。打开windows的cmd命令行工具,进入172.20.50.96上的E:\study\WebLogic11g\user_projects\domains\MyCluster_Domain\bin路径,打以下命令回车:
&quot;stopManagedWebLogic.cmd Cluster_ManagedServer_3&quot;,中间提示输入用户名和密码,这里分别是weblogic,weblogic1。关闭后如下图:

图64

  • 按下Ctrl&#43;C强制关闭
点击正在运行的服务器控制台,按下Ctrl&#43;C组合键,输出几行文字后,控制台会打出&quot;终止批处理操作吗(Y/N)? &quot;消息,输入&quot;Y&quot;,回车,该服务器将被强制关闭。

图65



  • Session复制

    • HTTP会话状态复制介绍



      • 对JSP和Servlet提供集群支持


WebLogic服务器通过复制HTTP会话状态,对JSP和Servlet提供集群支持。

  • 实现方式


  • 内存复制
  • JDBC复制
  • 文件系统复制
本文只做了&quot;内存复制&quot;的配置。

  • Session复制要求条件


  • Session必须序列化为了支持in-memory http session复制,所有的servlet和jsp会话数据必须可序列化,实现java.io.Serializable接口。
  • 用setAttribute 修改 Session 状态在实现了javax.servlet.http.HttpSession的http servlet中,用HttpSession.setAttribute代替putValue方法去修改session 对象。putValue方法不建议用,同样用removeAttribute代替removeValue去删除session对象。
  • 避免大的session对象因为往session中存放的数据比较大时,系统的响应速度明显变慢,有时会出现内存溢出的情况。
  • 框架的使用在特定的框架集(frameset)中,确保只有一个框架(frame)创建和修改会话数据;必须确保只在第一个框架集的一个框架中创建会话,其他框架集访问该session。


  • Weblogic配置要求

    • 机器

WebLogic服务器中,机器名用来指明一个受管服务器运行在一个特定的硬件上。机器定义是WebLogic选择另一个服务器作为它的会话信息备份时的一个考量因素。

  • 复制组
复制组是集群中相关服务器的逻辑组,WLS允许你使用复制组,决定在哪里放置备份对象。WLS尝试以下方式进行session复制:

  • 如果配置过,发送备份对象给预定义次要复制组
  • 发送备份对象给不同机器
  • 避免发送备份对象给同一个复制组中的服务器

  • 分级服务器
WebLogic服务器对集群中的服务器分级,以决定哪个服务器作为备份:
图66


  • weblogic.xml部署描述配置
会话持久性通过weblogic.xml部署描述符文件中的<session-descriptor>元素配置的,每种持久性方法都有自己的配置参数集。


  • 内存复制方式

    • 服务器和会话对象

WLS可以复制HttpSession对象和
有状态会话EJB,会话对象仅存在两
台服务器上,称作主要服务器和次
要服务器。次要服务器由复制组和机
器定义决定,主要对象创建后,次要
对象马上被创建。如右图所示










图67
主要服务器失败,使得备份对象成为主要对象,如下图。

图68

  • 复制组故障接管

图69

  • 内存复制的要求


  • 来自同一个客户端的后续请求必须访问同一个主要对象
  • 为了使用HTTP会话状态内存复制,客户端必须使用下面方法之一访问集群:

    • 负载均衡硬件(WLS知晓)
    • Web服务器集合,或单个Web服务器,带有WebLogic代理插件(配置相同)
    • 配置有HTTPClusterServlet的WebLogic服务器(本文采用方式)


  • 配置内存复制


  • 配置代理服务器(如果适用)
  • 配置复制组和/或机器(可选)
  • 在weblogic.xml部署描述符中指定持久类型
<persistent-store-type>replicated_if_clustered</persistent-store-type>


  • 内存复制配置步骤
本文是在上面配置好集群的基础上做内存session复制,其中代理服务器和机器已经配置好了,下面主要做复制组的配置和weblogic.xml的配置。


    • 复制组规划

复制组规划图:
















图70
复制组和服务器的分配:
Server
Replication Groups
Preferred secondary replication group
ManagedServer_1
MyGroupA

MyGroupB

ManagedServer_2
MyGroupA

MyGroupB

ManagedServer_3
MyGroupB

MyGroupA

ManagedServer_4
MyGroupA

MyGroupB

ManagedServer_5
MyGroupB

MyGroupA

表2
如果一个客户端连接到服务器ManagedServer3并创造一个HTTP会话状态,按照WebLogic选作备份服务器对集群中服务器的分级,下面是复制该session的优先级:
优先级1:ManagedServer4,因为它们处在不同的机器上,并且它是ManagedServer3的预定义首选次级组成员
优先级2:ManagedServer1,ManagedServer2,它是ManagedServer3的预定义首选次级组成员,虽然在一台机器上。
优先级3:ManagedServer5,它和ManagedServer3不在一台机器上,虽然同在一个复制组中。


  • 复制组配置

  • 启动weblogic启动weblogic管理服务器、代理服务器。
  • 登陆http://172.20.50.96:7001/console进入控制台,点击左边&quot;域结构&quot;中的&quot;环境à服务器&quot;菜单。

    图71


  • 点击一个被管理服务器名称的链接,这里选择&quot;Cluster_ManagedServer_1&quot;,进入Cluster_ManagedServer_1的设置页面,点击&quot;集群&quot;tab按钮,并点击左上角的&quot;锁定并编辑&quot;按钮,如下图:

    图72

  • 在复制组后面的文本框中输入&quot;MyGroupA&quot;,首选次级组后面的文本框中输入&quot;MyGroupB&quot;。

    图73

  • 点击&quot;保存&quot;按钮,保存成功后,点击画面左上角的&quot;激活更改&quot;按钮,激活成功后如下图所示:
    图74


    按照&quot;表2&quot;中的复制组和服务器的分配,以同样地方式设置其他被管理服务器。

    • Session复制验证

  • 启动被管理服务器Cluster_ManagedServer_3,Cluster_ManagedServer_4,在浏览器中输入http://172.20.50.96:8080/ShoppingCart/,进入购物商店界面:

    图75

  • 点击&quot;Go Shopping&quot;链接进入购物界面

    图76


  • 购物两次(买了价&#26684;4.99,6.99两种商品),返回首页,点击&quot;View Shopping Cart&quot;链接进入购物车页面,查看已购买的商品
    图77


  • 被管理服务器Cluster_ManagedServer_3控制台输出内容

图78


  • 启动被管理服务器Cluster_ManagedServer_1。
在Cluster_ManagedServer_3停掉后,Cluster_ManagedServer_4中session对象的状态会由Secondary State变成Primary State,现在Cluster_ManagedServer_1用作次要服务器,请参见本文&quot;5.3.1服务器和会话对象&quot;一节。

图79


  • 停掉管理服务器Cluster_ManagedServer_3
    图80

  • 继续购物本次购买价&#26684;&quot;15.99&quot;的商品,并返回购物车页面查看已购买的商品:

    图81

原来购买的商品仍在购物车里,证明session已经成功复制,因为商品信息是保存在session中。

  • 被管理服务器Cluster_ManagedServer_4已经接管原来的web请求,控制台输出内容
    图82


  • 停掉管理服务器Cluster_ManagedServer_4
    图83

  • 继续购物本次购买价&#26684;&quot;199.99&quot;的商品,并返回购物车页面查看已购买的商品

    图84

原来购买的商品仍在购物车里,证明第二次session已经成功复制,session对象由服务器Cluster_ManagedServer_4复制到服务器Cluster_ManagedServer_1中。


  • 被管理服务器Cluster_ManagedServer_1控制台输出内容

图85

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-134260-1-1.html 上篇帖子: 通过weblogic自带脚本正常关闭受管理服务器方法 下篇帖子: Oracle WebLogic Server 与 Oracle Database 12c 的集成 (1)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表