weblogic的集群与配置

目录(?)[-]

1.Weblogic的集群
2.建立Weblogic集群前的规划
3.开始建立咱们的Weblogic集群
1.1 建立集群的总控制端aminserver
2.2 建立集群中的节点mycluster1 mycluster2
3.3 如何启动集群
4.jdbc集群
5.把工程布署到集群环境中去
6.使用Apache与Weblogic集群整合
7.JMS集群
目录

 

本文转摘于;http://blog.csdn.net/liuqiwen0512/article/details/7739421html

1、Weblogic的集群

还记得咱们在第五天教程中讲到的关于Tomcat的集群吗?node

 

两个tomcat作node即tomcat1, tomcat2,使用Apache HttpServer作请求派发。web

如今看看WebLogic的集群吧,其实也差很少。apache

 

区别在于:tomcat

  1. Tomcat的集群的实现为两个物理上不一样的tomcat,分别就是两个node,没有总控端,没有任何控制台可言(只有经过比较简陋的http://localhost:8080/manager/html,或者是http://localhost:9090/manager/html)来对每一个tomcat节点进行监视(此处只有monitor没有control);

    若是咱们要布署咱们的Web应用,须要分别手工往每一个Tomcatwebapp目录里拷贝文件。服务器

  1. Weblogic的集群必须设立一个总控端,可从上图中看出,而后这个总控端咱们把它称为AdminServer,而后在其下能够挂weblogic的集群的node,这个node不是物理上不一样的两个weblogic,而是不一样的domain,咱们假设domain1, domain2为两个weblogic的集群的节点。

    若是咱们要布署咱们的Web应用,只须要在总控端布署一次,而后挂在这个总控端下的节点将会自动将咱们的web应用发布到每个节点。session

  所以,要实现weblogic的集群必须:app

  • 安装Weblogic
  • 建立一个AdminServer的domain
  • 在AdminServer上创建集群总控端
  • 分别建立每个要加入此集群总控端的node,也是一个个的domain

2、建立Weblogic集群前的规划

根据第一节中的内容,咱们将咱们用于实验的Weblogic规划成3个domain,每一个domain都包含有下列的必不可少的属性:dom

  • AdminConsole(总控端)

    逻辑名webapp

    物理名(domain的系统路径)

    端口号

    计器名(IP)

    登陆信息(username/password)

  • Cluster node1(集群节点1)

    逻辑名

    物理名(domain的系统路径)

    端口号

    计器名(IP)

    登陆信息(username/password)

  • Cluster node2(集群节点2)

    逻辑名

    物理名(domain的系统路径)

    端口号

    计器名(IP)

    登陆信息(username/password)

  咱们用表格列出咱们将要建立的集群中总控端与每一个节点的集息:

物理名

逻辑名

端口号

主机名(IP

登陆信息

\bea\user_projects\domains\adminserver

AdminServer

7001

localhost

weblogic/password_1

\bea\user_projects\domains\server1

mycluster1

7011

localhost

weblogic/password_1

bea\user_projects\domains\server2

mycluster2

7012

localhost

weblogic/password_1

  规划好了,就能够开始来建立咱们的集群了。

3、开始建立咱们的Weblogic集群

3.1 建立集群的总控制端(aminserver)

  Windows:

  Windows下经过菜单->OracleWeblogic->Weblogic Server 11gR1->Tools->Configuration Wizard来启动建立domain的wizard。

 

  Unix/Linux:

  Unix/Linux下经过

cd /bea/wlserver/common/bin

./config.sh

  来启动建立domain的wizard。

 

  选择“建立新的Weblogic域”,选下一步(下面所有跟着个人操做步骤与界面填选的参数走,全部的用户名啦、密码啦、端口号啦、IP啦,都请根据第一节中的那个表格里的参数填写

 

  下一步后界面相似,可是是有区别的,注意了哦,不要下手太快了

 

  上面这个配的就叫集群广播地址的界面。

  由于集群是经过广播(有unicast和multicast两种)来同步集群中的节点,而且把每一个节点中的session经过这个广播地址来进行复制和同步,即主控域不断的时时刻刻的会和它下面的子节点间保持通信、常常去询问各个子节点的。

  • 名称:能够任意
  • 集群信息传送模式:有unitcast与multicast两种,在11G版本前都是multicast10G后开始支持unicast协议。若是指定了multicast,就必须指定一个“多点传送地址”,此地址和端口均可以采用weblogic默认的。

  若是在域环境,还须要在防火墙中配置这个“多点传送地址”与“多点传送端口”,使其在防火墙中被打开,协议为both of tcp and udp。

 

  Look, 右边这块咱们把它称为“集群的逻辑拓卜图”。

 

  此处是对每一个集群里的节点指定相应的“计算机名/IP”,因为咱们的实验是创建在同一台机器上的即纵向集群,所以这步什么都不须要填,直接下一步

 

  完成后能够启动adminserver

 

  而后经过http://localhost:7001/console来查看咱们的集群规划,以下图:

 

  这样,咱们就完成了建立一个新的domain而且将且扩展成为了集群的总控制端服务器,同时在这上面咱们制做了一个“集群拓卜图”,那么下面要作的就是:

  • 建立该集群拓卜图中的节点1
  • 建立该集群拓卜图中的节点2

3.2 建立集群中的节点(mycluster1, mycluster2)

  启动Weblogic的Configuration Wizard

  按照普通的域,就是一个普通的域来建立(为了实验方便咱们的用户名与密码所有为weblogic/password_1):

  • user_projects\domains\server1(逻辑名为:mycluster1,端口:7011)
  • user_projects\domains\server2(逻辑名为:mycluster2,端口:7012)

 

  下一步,下一步,建立,完成。

  依上面的相同步骤能够自行建立server2(逻辑名为mycluster2,端口:7012)。

 

3.3 如何启动集群

物理名

逻辑名

端口号

主机名(IP

登陆信息

\bea\user_projects\domains\adminserver

AdminServer

7001

localhost

weblogic/password_1

\bea\user_projects\domains\server1

mycluster1

7011

localhost

weblogic/password_1

bea\user_projects\domains\server2

mycluster2

7012

localhost

weblogic/password_1

 

  咱们看着上面这个表格来输入命令吧:

  1. 启动主控域(必须永远先启动主控域)

 

  2.  启动节点1(间点间的启动顺序无所谓

 

  3. 启动节点2(间点间的启动顺序无所谓

 

  所有启动完毕后就能够经过主控制域的admin console即http://localhost:7001/console来管理这个集群了。

 

4、jdbc集群

 

  有了集群,咱们就能够布署咱们的JDBC了,只是这个JDBC的布署和之前单机版的JDBC布署稍稍有点不同,前面咱们引用第八天中的创建JDBC的步骤:

 

 

  好好好,停,到了这边,不同的地方来了。

 

  嘿嘿,千万不要把这个JDBC链接池的“target”即做用域设错了哈,咱们如今是集群,要把这个JDBC链接池的做用域设在咱们的集群上的哈!

 

  咱们来测试一下咱们创建的数据源吧。

 

  两个cluster上的数据源所有部署成功。

  这边再提一句:

  集群布署的话AdminServer只是一个控制器,经过它布署的war程序是自动同步到挂在它下面的全部的节点中去的,所以JDBC数据源,或者JMS或者是EJB都要在绑定是把target即做用域设成cluster而不是AdminServer自己,由于AdminServer自己不会布署任何任何东西的。

5、把工程布署到集群环境中去

  • 确保咱们将要布署的工程中的web.xml的最后一行含有:

<distributable/>

  •  在将要布署的工程的WEB-INF目录下新建一个weblogic.xml的文件,其内容以下:

<?xml version="1.0" encoding="UTF-8"?>

<weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/90">

<session-descriptor>

<debug-enabled>true</debug-enabled>

<persistent-store-type>replicated</persistent-store-type>

<sharing-enabled>true</sharing-enabled>

</session-descriptor>

<context-root>/cbbs</context-root>

</weblogic-web-app>

  该内容使得你的工程能够在Weblogic集群环境下进行Session复制。

而后就能够开始布署了

 

  下面又来了,和在集群中布署JDBC是同样的,请看:

 

  下一步,下一步一直到[完成]按钮亮起来后,点[完成]。

 

  点[保存]并[激活更改]。

  你们来看看两个clustermycluster1mycluster2下是否被布署了工程,即至关于咱们手工要在两个tomcat节点的webapps目录里拷入咱们的WAR工程,而weblogic只须要经过主控制域,自动将war工程布署在其下的全部子节点内。

 

  是的,果真,它自动布署了。就算我下面有10几个子节点,它也同样只须要在AdminServer上布署一次,自动同步。

  咱们把这个工程启动起来吧。

 

  当你一点“为全部请求提供服务,再来看两个字节点的后台console,均可以同步启动了:

 

  布署成功

 

  打开两个IE:

  一个输入: http://localhost:7011/cbbs

  一个输入: http://localhost:7012/cbbs

 

  Weblogic集群布署成功,接下去就是在Apache里进行派发了

6、使用Apache与Weblogic集群整合

  打开httpd.conf,把下面这段就是咱们在“第九天”中加入的,去掉:

LoadModule weblogic_module modules/mod_wl_22.so

<IfModule mod_weblogic.c>

   WebLogicHost localhost

   WebLogicPort 7001

   MatchExpression /cbbs/WEB-INF

   MatchExpression /cbbs/*WEB-INF

   MatchExpression /cbbs/*.action

   MatchExpression /cbbs/servlet/*

   MatchExpression /cbbs/*.jsp

   MatchExpression /cbbs/*fckeditor/editor/filemanager/connectors/*.*

   MatchExpression /cbbs/fckeditor/editor/filemanager/connectors/*

   WLLogFile logs/wlproxy.log

</IfModule>

  换成下面这一段

LoadModule weblogic_module modules/mod_wl_22.so

<IfModule mod_weblogic.c>

   Include conf/weblogic.conf

</IfModule>

  而后在apache安装的conf目录下手工创建weblogic.conf文件,其内容以下:

WeblogicCluster localhost:7011,localhost:7012

  

MatchExpression /cbbs/WEB-INF

MatchExpression /cbbs/*WEB-INF

MatchExpression /cbbs/*.action

MatchExpression /cbbs/servlet/*

MatchExpression /cbbs/*.jsp

MatchExpression /cbbs/*fckeditor/editor/filemanager/connectors/*.*

MatchExpression /cbbs/fckeditor/editor/filemanager/connectors/*

 

  重启你的Apache,输入:http://localhost/cbbs/index.jsp

 

  Apache加Weblogic集群,搞定!

7、JMS集群

  这是我在用Weblogic集群布署PEGA Rulz的详细步骤,供各为参考。由于网上关于JMS在Weblogic下如何做集群不是太多,所以把步骤记录下来Share给你们。

  JMS集群和JDBC集群不同,就是不可以直接创建JMS源,而后把它target到咱们的myclusterbroadcast上去

  • 而是须要分别为每一个cluster单独建一个jms的server以下图。

 

  • 而后创建jmsmodule

 

  将module 的做用范围即target到咱们的cluster(myclusterbroadcast)上去。

  创建完了module你就要创建topic, queue以及相应的topic connection factory或者是queue connectionfactory了是吧?由于咱们这边给PEGA Rulz作集群用的是topic方式来发布集群的,所以咱们以topic为例,queue的创建也就同样了。

  • 单击刚才咱们创建的KTJmsModule

 

  点[New]

  先建connection factory

 

  • 在新建connectionfactory的界面中有一个[高级定位]的按钮

 

  • 点[新建子部署]

    填入完子布署的名称后,按照以下图来“target”

 

  点完成后跳出以下的界面

 

  此时咱们能够开始真正创建咱们的topic或者是queue了

  前面说了不可以直接创建JMS源,而后把它target到咱们的myclusterbroadcast上去。那么咱们要对JMS进行集群即对Topic或者是Queue进行集群,可是咱们能够创建一个Distribute Topic,而后分别建两个一边的topic,一个topic连向jmsserver1一个topic连向jmsserver2,而后把这个Distribute Topic定位(Target)到这两条topic上便是咱们的“集群下的jms topic”。

在jmd module里点[新建]按钮

选择“主题”(不是分布式主题)

 

  每一个子部署(sub deployment)须要定位(target)到一个jms server上。

依此分别创建:

  • topic1 subtop1->jmsserver1
  • topic2 subtop2->jmsserver2

  如今,咱们的jms module里的内容因该以下图所示:

 

  • 创建 “分布式主题”(DistributeTopic)

  在jms module里点新建按钮,选“分布式主题”

 

  必定要记得把“Destination Type”改为“Weighted”。

  这边的分布式Topic的JNDI Name: 就是咱们真正的须要用来作集群的JMS的Topic或者是Queue的jndi名,好比说个人产品PEGA Rulz须要在集群环境下用到RamTopicJNDI,这个JNDI Name就必须填产品说明书上的那个Topic或者是Queue的名字哦。

点下一步后将刚才两个新建的topic所有分配给这个distribute topic

 

  点[完成]按钮

  这样,一个集群环境下的JMS分布式主题(Topic)就全建完了,最后不要忘了点左边菜单上方的“激活更改”,保存您刚才的全部的更改。

相关文章
相关标签/搜索