配置WebLogic Server集群(本文讲述如何在WebLogic Server 8.1上配置集群,以及通过Proxy Server来访问集群)预备知识什么是Domain和ServerDomainDomain是WebLogic Server实例的基本管理单元。
所谓Domain就是,由配置为Administrator Server的WebLogic Server实例管理的逻辑单元,这个单元是有所有相关资源的集合。
ServerServer是一个相对独立的,为实现某些特定功能而结合在一起的单元。
Domain and Server的关系一个Domain 可以包含一个或多个WebLogic Server实例,甚至是Server集群。
一个Domain中有一个且只能有一个Server 担任管理Server的功能,其它的Server具体实现一个特定的逻辑功能。
本文环境平台:Windows 2000软件:Bea WebLogic Server 8.1 SP2配置WebLogic Server集群WebLogic集群的体系结构单层混合型的集群架构(Cluster)这种架构将所有的Web应用以及相关的服务应用全部置于集群中的单一WLS实例中,这种架构的优势在于:易于管理灵活的负载平衡机制更强的安全控制多层结构的集群架构(Cluster)这种架构使用两个WLS集群,一个放置表静态内容和集群Servlet,另一个放置集群EJB。
一般应用于下面这些情况:在负载平衡机制需要调用集群EJB中的方法时;在提供内容与提供对象的服务之间需要更大的机动性时;在需要更高的系统稳定性时;配置集群应用的必要条件集群中的所有Server必须位于同一网段,并且必须是IP广播(UDP)可到达的集群中的所有Server必须使用相同的版本,包括Service Pack集群中的Server必须使用永久的静态IP地址。
动态IP地址分配不能用于集群环境。
如果服务器位于防火墙后面,而客户机位于防火墙外面,那么服务器必须有公共的静态IP地址,只有这样,客户端才能访问服务器要以CLUSTER方式运行,必须有包含CLUSTER许可的LICENSE才行(从Bea网站上下载的试用版本就可以进行Cluster配置)配置前的准备工作在配置集群应用前要对集群的配置信息有一个良好的设计,下面就是我们这次配置的集群信息:在同一台机器上配置集群在同一网段内的不同机器上配置集群使用Domain Configuration Wizard进行配置创建新的Domain选择“Create a new WebLogic configuration”,单击“Next”按钮选择安装类型选择安装“Basic WebLogic Server Domain”,单击“Next”按钮选择定制安装选择“Custom”安装,单击“Next”按钮输入Administrator Server的信息输入Administrator Server的名称,监听地址,监听端口,如果需要SSL支持的话可以在“SSL enabled”后面的复选取框上打勾,配置SSL监听端口,单击“Next”按钮是否配置Server、Cluster、Machine信息选择“Yes”,对Server、Cluster、Machine信息进行配置,,单击“Next”按钮配置Managed Server信息输入Managed Server的名称,监听地址,监听端口,如果需要SSL支持的话,可以在“SSL enabled”复选框上打勾,配置SSL监听端口。
可以配置多个Managed Server。
单击“Next”按钮配置Cluster信息输入Cluster的名称,Cluster的组播地址和端口,Cluster地址可输可不输。
单击“Next”按钮将Managed Server添加到Cluster中选择左面列表中的Managed Server,将其添加到右面的列表中,单击“Next”按钮配置Machine信息在此不对Machine进行配置,单击“Next”按钮是否配置JDBC信息在此不对JDBC数据源和连接池进行配置,单击“Next”按钮配置JMS信息在此不对JMS进行配置,单击“Next”按钮配置缺省系统管理员用户名和密码输入系统管理员用户名和密码,还可以配置其它的系统管理用户,在此不做配置,单击“Next”按钮配置Windows附加选项可以选择是否创建开始菜单中的快捷方式,是否将该服务作为Windows系统服务,在这里我们全部选择“No”,单击“Next”按钮配置服务的启动模式并选择Java SDK选择“Development Mode”模式,并选择标准的Java SDK 1.4,在开发模式下会有比较丰富的调试信息,对我们很有帮助,单击“Next”按钮配置信息确认以及选择安装路径系统列出您的配置信息,并指定了缺省的安装路径(D:\bea\user_projects\domains\mydomain),在此我们将安装路径定位在D:\bea\user_projects\clusterdomain,单击“Create”按钮系统创建Domain系统根据配置信息,完成缺省的目录及文件的创建/*补充说明*/配置NodeManager进入*/bea814/weblogic81/server/bin,将startNodeManager.sh文件拷贝到建立的server 域路径下(D:\bea\user_projects\clusterdomain),然后运行startNodeManager.sh,启动NodeManager,同时在其目录下生成NodeManager的文件。
编辑startNodeManager.sh的文件(在启动NodeManager前做)1.将其文件中NODEMGR_HOME的路径设置为“=./nodeManager”2.设置CLASSPATH和AGENTCLASSPATH(如果系统中有agent)在主控机中启动NodeManager前,将clusterdomain整个域拷贝到被控机*/domain/下,然后运行startNodeManager.sh,在被控机上启动NodeManager,在生成nodeManager文件里找到NodeManager.host文件,在文件里加上主控机的IP地址或主控机的机器名;启动WebLogic服务启动Administrator Server使用startWebLogic命令启动Administrator Server启动Managed Server使用startManagedWeblogic命令启动Managed Server,它的命令格式是:startManagedWeblogic.cmd Managed Server的名称Administrator Server地址同理可以启动nodeB和nodeC,以及Proxy Server通过HttpClusterServlet实现请求的自动分发处理HttpClusterServlet通过一个WebLogic服务器代理对WebLogic集群中的其他服务器成员的HTTP请求,同时HttpClusterServlet还为代理的HTTP请求提供负载平衡与容错处理。
实际上实现是很简单的,遵循下面几个步骤就可以轻松实现请求的自动分发功能:创建一个代理Server(在此我们称这proxyServer)生成配置文件web.xml生成配置文件weblogic.xml打包生成Web应用在proxyServer上部署应用,并将该应用作为缺省的Web应用创建代理Server启动Administrator Server,然后进入Console控制台(http://10.16.92.33:7080/console/),在此我们将代理Server与Administrator Server置于同一台主机之上。
进入console控制台后,在“Server”结点上单击右键,在弹出菜单上选择“Configure a New Server”,然后配置代理Server的相关信息。
(在这里只要指定名称,监听地址,监听端口就可以了)HttpClusterServlet的部署,主要是Servlet的声明和映射,并设置初始化参数,可以创建一个Web App,然后直接在web.xml中添加或在管理控制台上设置HttpClusterServlet的部署信息。
最后将它发布给用来做代理的Server,并将这个Web App设置为这个Server的缺省WEB应用。
/*补充说明*/Cluster下的各个server的配置,主要是配置Remote Start中的Arguments:-DDN=server1 -XX:PermSize=128m -XX:MaxPermSize=256m -Xms512m -Xmx1024m -Dnsm.home=/opt/bea814/user_projects/domains/liangyan/dist/nsm_home-Dcom.iplanet.coreservices.configpath=/etc/opt/SUNWam/j2ee_agents/am_wl70_agent/config/_o pt_bea814_user_projects_domains_domemipportal/ums-Djava.util.logging.config.file=/etc/opt/SUNWam/j2ee_agents/am_wl70_agent/config/_opt_bea81 4_user_projects_domains_domemipportal/AMAgent.properties -DLOG_COMPATMODE=Off -Dmax_conn_pool=10 -Dmin_conn_pool=1 -Damconfig=AMAgentweb.xml文件示例weblogic.xml文件示例打包WEB应用可以使用jar命令将proxy应用打包成war文件,我们建一个临时目录temp,然后在其中建立如下目录结构:使用如下的命令操作,就可完成web应用的打包操作:JAR –参数WEB应用名称要打包的目录当然我们也可以直接部署该目录,而无需打包,这在项目的开发阶段是很有帮助的,便于修改。
部署proxy应用启动Administrator Server,然后进入Console控制台(http://10.16.92.33:7080/console/),在此我们将代理Server与Administrator Server置于同一台主机之上。
进入console控制台后,在“Web Application Modules”结点上单击右键,在弹出菜单上选择“Deploy a new Web Application Module”,然后选择要部署的文件或目录,单击“Target Module”按钮,然后选择“proxyServer”,单击“Continue”按钮,到了下一步,单击“Deploy”按钮,完成部署工作。