赞
踩
4.1.1. 使用 Configuration Wizard 进行配置 11
4.2.1. 使用 Configuration Wizard 进行配置 22
什么是 Domain,Server,Machine,Cluster
图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 RAM,Windows 2003 Enterprise,2GRAM
软件:WebLogic Server 11gR1
一个集群就是一组协同工作的WebLogic服务器实例。
集群提供:高可用性、负载均衡、扩展性。
集群图示:图2、图3都是集群在应用环境中的示例。
图2
图3
扩展性就是可以为应用提供更多容量的能力,在这种情况下,增加额外的服务器,而不必对主体架构进行修改。
高可用性确保了集群中一台服务器发生故障时,其他服务器可以接管工作,因此对客户端没有影响。
当应用中一个执行任务的对象变得不可用时,另外对象可以接管并完成工作。
当单个站点上所有服务和应用都失败时,它们可以切换到其他站点,继续处理。
当一台服务器失败时,钉住的服务可以迁移到集群中其他服务器上。
跨越多个服务器的平均任务分发与通讯。
基本集群架构将静态HTTP,展现逻辑,业务逻辑和对象组合在一个集群中。如图4所示。(本文配置采用的是该结构)
图4
Web层和业务逻辑服务可以分布在两个集群中。如图5所示。
图5
多层集群架构推荐给具有如下需求的Web应用:
基本集群架构具有如下优势:
基本集群架构具有如下劣势:
多层集群架构具有如下优势:
多层集群架构具有如下劣势:
在配置集群应用前要对集群的配置信息有一个良好的设计,下面就是我们这次配置的集
群信息:在两台台机器上配置集群(每台机上都要安装相同版本的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
主控服务器在安装Window Xp的PC机下配置。
选择"「开始」菜单à程序àOracle WebLogicàWebLogic Server 11gR1àToolsàConfiguration Wizard"
图6
选择"创建新的Weblogic域",单击"下一步"按钮。
图7
默认选择安装"Basic WebLogic Server Domain", 单击"下一步"按钮。
图8
输入要创建的域名和位置,此处域名输入为 MyCluster_Domain,输入完成后单击"下一步"按钮。本文安装位置为E:\study\WebLogic11g\user_projects\domains目录下。
图9
输入 WebLogic 管理员管理服务器(AdminServer)用户名和密码,在此以"weblogic"作用登录管理服务器的用户名,密码为"weblogic1",单击"下一步"按钮。
图10
选择"生产模式"和"JRockit SDK"后,单击"下一步"按钮。
图11
选择"管理服务器","受管服务器、群集和计算机"后,单击"下一步"按钮。
图12
输入 Administrator Server 名称,监听地址(可选所有IP或者指定IP),监听端口,如果需要SSL支持的话可以在"SSL enabled"后面的复选取框上打勾,配置SSL 监听端口,单击"下一步"按钮。
图13
注意:代理服务器实际上也是一个受管理服务器
点击"添加",输入 Managed Server 的名称,监听地址,监听端口,如果需要SSL 支持的话,可以在"SSL enabled"复选框上打勾,配置SSL 监听端口。
可以配置多个Managed Server,名称和端口都不要相同,如果IP地址在选择的下拉框中没有,可以手动填写,完成后单击"下一步"按钮。
图14
单击"添加",输入Cluster 的名称My_Cluster_1,Multicast address 组播地址(用来进行集群间的状态通信)和端口7777,Cluster 的各个服务器地址和端口(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,您只能在Administration Console 中修改集群的配置,参考Oracle Fusion Middleware Oracle WebLogic Server Administration Console 帮助文档中的:"Create and configure clusters".
提示: multicast address 的IP 范围必须位于224.0.0.0 到 239.255.255.255 之间.
WebLogic Server 使用的multicast 默认值为 239.192.0.0. 您不能使用类似于x.0.0.1的多播地址.
图15
选择左面列表中的Managed Server,将其添加到右面的列表中,注意这里代理服务器Proxy_Server 不要添加到右边,之后单击"下一步"按钮。
图16
选中"创建HTTP 代理"复选框,My_Cluster_1 代理服务器选择Proxy_Server,单击"下一步"按钮。
图17
点击"添加",输入计算机的名称,监听地址,监听端口,单击"下一步"按钮。
图18
选择左面列表中的Admin Server、Managed Servers、Proxy Server,将其添加到右面的计算机下,之后单击"下一步"按钮。
图19
在此检查前面所做的配置,如果没有问题单击"创建"按钮。
图20
创建无误后,单击"完成"按钮
图21
在刚才创建的域目录下建立 boot.properties 文件,内容为:
username=weblogic
password=weblogic1
在本文的机器上,该文件的存储位置是:
E:\study\WebLogic11g\user_projects\domains\MyCluster_Domain\boot.properties。
在刚才创建的域目录下的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 命令启动Managed Server,它的命令格式是:
@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。
在刚才创建的域目录下的 bin 目录中创建startManagedServer_1.cmd,内容为:
@ECHO OFF
@REM 启动受管理服务 Cluster_ManagedServer_1.
@REM 使用startManagedWeblogic 命令启动Managed Server,它的命令格式是:
@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。
在刚才创建的域目录下的 bin 目录中创建startManagedServer_2.cmd,内容为:
@ECHO OFF
@REM 启动受管理服务 Cluster_ManagedServer_2.
@REM 使用startManagedWeblogic 命令启动Managed Server,它的命令格式是:
@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。
在刚才创建的域目录下的 bin 目录中创建startManagedServer_3.cmd,内容为:
@ECHO OFF
@REM 启动受管理服务 Cluster_ManagedServer_3.
@REM 使用startManagedWeblogic 命令启动Managed Server,它的命令格式是:
@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 的名称Administrator Server 地址)
附启动文件:
受控服务器在安装Window 2003 Enterprise的PC机下配置。
选择"「开始」菜单à程序àOracle WebLogicàWebLogic Server 11gR1àToolsàConfiguration Wizard"
图22
选择"创建新的Weblogic域",单击"下一步"按钮。
图23
默认选择安装"Basic WebLogic Server Domain", 单击"下一步"按钮。
图24
输入要创建的域名和位置,此处域名可输入为 MyCluster_Domain,输入完成后单击"下一步"按钮。本文安装位置为D:\weblogic\weblogic11g\user_projects\domains目录下。
图25
输入 WebLogic 管理员管理服务器(AdminServer)用户名和密码,在此以"weblogic"作用登录管理服务器的用户名,密码为"weblogic1",单击"下一步"按钮。
图26
选择"生产模式"和"JRockit SDK"后,单击"下一步"按钮。
图27
选择"管理服务器","受管服务器、群集和计算机"后,单击"下一步"按钮。
图28
输入 Administrator Server 名称,监听地址(可选所有IP或者指定IP),监听端口,如果需要SSL支持的话可以在"SSL enabled"后面的复选取框上打勾,配置SSL 监听端口,单击"下一步"按钮。
图29
注意:受管理服务器配置的名称,监听地址,监听端口要和在主控服务器配置中的一致(参见4.1.9.配置受管理服务器)。
点击"添加",输入 Managed Server 的名称,监听地址,监听端口,如果需要SSL 支持的话,可以在"SSL enabled"复选框上打勾,配置SSL 监听端口。
图30
这里不做集群配置,单击"下一步"按钮。
图31
这里不做计算机配置,单击"下一步"按钮。
图32
在此检查前面所做的配置,如果没有问题单击"创建"按钮。
图33
创建无误后,单击"完成"按钮
图34
在刚才创建的域目录下建立 boot.properties 文件,内容为:
username=weblogic
password=weblogic1
在本文的机器上,该文件的存储位置是:
D:\weblogic\weblogic11g\user_projects\domains\MyCluster_Domain\boot.properties。
在刚才创建的域目录下的bin 目录中创建startAdminServer.cmd,内容为:
@ECHO OFF
@REM 启动管理服务器.
start .\startWebLogic
在本文的机器上,该文件的存储位置是:
D:\weblogic\weblogic11g\user_projects\domains\MyCluster_Domain\bin\startAdminServer.cmd。
在刚才创建的域目录下的 bin 目录中创建startManagedServer_4.cmd,内容为:
@ECHO OFF
@REM 启动受管理服务 Cluster_ManagedServer_4.
@REM 使用startManagedWeblogic 命令启动Managed Server,它的命令格式是:
@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。
在刚才创建的域目录下的 bin 目录中创建startManagedServer_5.cmd,内容为:
@ECHO OFF
@REM 启动受管理服务 Cluster_ManagedServer_5.
@REM 使用startManagedWeblogic 命令启动Managed Server,它的命令格式是:
@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。
附启动文件:
建议您按照顺序启动服务器,只有当管理服务器首先启动完毕后,受管服务器再启动。
启动的过程中,会让输入管理员用户名(weblogic)和密码(weblogic1),当所有服务器的控制台上出现Server started in RUNNING mode 字样时,整个集群启动完毕。
图35
图36
图37
图38
图39
图40
图41
图42
图43
图44
图45
登录进控制台后点击左边"域结构"中的"部署"菜单,如下图
图46
此时在界面主区域可以看到已部署的应用,如下图
图47
点击更改中心里的"锁定并编辑"按钮,此时在界面主区域中的"安装"按钮会变成可用状态,如下图
图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("Cluster Test!");
System.out.println("Cluster Test!");
%>
</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 都打印出了"Cluster Test!"字样(这里ManagedServer_3,ManagedServer_5没有打出,不同的测试环境,哪个受管理服务器打印可能不同),这说明,在并发请求的情况下,集群能够将请求进行分发,以达到负载平衡的目的。
进入控制台,在左侧"控制台"点击"服务器"链接,在界面主区域中点击"控制"tab按钮,选择要关闭的服务器,如下图。
图61
点击"关闭"按钮,选择"当工作完成时"或者"立即强制关闭",建议您按照顺序关闭服务器,当受管理服务器和代理服务器关闭后,再关闭管理服务器。
图62
下图是一个受管理服务器关闭后的控制台消息。
图63
这里以关闭一个受管理服务器为例,关闭代理服务器和管理服务器一样,都要用到stopManagedWebLogic.cmd命令,格式为"stopManagedWebLogic.cmd 要关闭服务的名字"。打开windows的cmd命令行工具,进入172.20.50.96上的E:\study\WebLogic11g\user_projects\domains\MyCluster_Domain\bin路径,打以下命令回车:
"stopManagedWebLogic.cmd Cluster_ManagedServer_3",中间提示输入用户名和密码,这里分别是weblogic,weblogic1。关闭后如下图:
图64
点击正在运行的服务器控制台,按下Ctrl+C组合键,输出几行文字后,控制台会打出"终止批处理操作吗(Y/N)? "消息,输入"Y",回车,该服务器将被强制关闭。
图65
WebLogic服务器通过复制HTTP会话状态,对JSP和Servlet提供集群支持。
本文只做了"内存复制"的配置。
为了支持in-memory http session复制,所有的servlet和jsp会话数据必须可序列化,实现java.io.Serializable接口。
在实现了javax.servlet.http.HttpSession的http servlet中,用HttpSession.setAttribute代替putValue方法去修改session 对象。putValue方法不建议用,同样用removeAttribute代替removeValue去删除session对象。
因为往session中存放的数据比较大时,系统的响应速度明显变慢,有时会出现内存溢出的情况。
在特定的框架集(frameset)中,确保只有一个框架(frame)创建和修改会话数据;必须确保只在第一个框架集的一个框架中创建会话,其他框架集访问该session。
WebLogic服务器中,机器名用来指明一个受管服务器运行在一个特定的硬件上。机器定义是WebLogic选择另一个服务器作为它的会话信息备份时的一个考量因素。
复制组是集群中相关服务器的逻辑组,WLS允许你使用复制组,决定在哪里放置备份对象。WLS尝试以下方式进行session复制:
WebLogic服务器对集群中的服务器分级,以决定哪个服务器作为备份:
图66
会话持久性通过weblogic.xml部署描述符文件中的<session-descriptor>元素配置的,每种持久性方法都有自己的配置参数集。
WLS可以复制HttpSession对象和
有状态会话EJB,会话对象仅存在两
台服务器上,称作主要服务器和次
要服务器。次要服务器由复制组和机
器定义决定,主要对象创建后,次要
对象马上被创建。如右图所示
图67
主要服务器失败,使得备份对象成为主要对象,如下图。
图68
图69
<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管理服务器、代理服务器。
图71
图72
图73
图74
按照"表2"中的复制组和服务器的分配,以同样地方式设置其他被管理服务器。
图75
图76
图77
图78
在Cluster_ManagedServer_3停掉后,Cluster_ManagedServer_4中session对象的状态会由Secondary State变成Primary State,现在Cluster_ManagedServer_1用作次要服务器,请参见本文"5.3.1服务器和会话对象"一节。
图79
图80
本次购买价格"15.99"的商品,并返回购物车页面查看已购买的商品:
图81
原来购买的商品仍在购物车里,证明session已经成功复制,因为商品信息是保存在session中。
图82
图83
本次购买价格"199.99"的商品,并返回购物车页面查看已购买的商品
图84
原来购买的商品仍在购物车里,证明第二次session已经成功复制,session对象由服务器Cluster_ManagedServer_4复制到服务器Cluster_ManagedServer_1中。
图85
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。