不正狼 发表于 2017-2-16 06:34:48

weblogic的集群与配置(二)

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来管理这个集群了。


 
四、jdbc集群
 
  有了集群,我们就可以布署我们的JDBC了,只是这个JDBC的布署和以前单机版的JDBC布署稍稍有点不一样,前面我们引用第八天中的建立JDBC的步骤:






 

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

  嘿嘿,千万不要把这个JDBC连接池的“target”即作用域设错了哈,我们现在是集群,要把这个JDBC连接池的作用域设在我们的集群上的哈!


 
我们来测试一下我们建立的数据源吧。


 
  两个cluster上的数据源全部部署成功。
这边再提一句:
  集群布署的话AdminServer只是一个控制器,通过它布署的war程序是自动同步到挂在它下面的所有的节点中去的,因此JDBC数据源,或者JMS或者是EJB都要在绑定是把target即作用域设成cluster而不是AdminServer本身,因为AdminServer本身不会布署任何任何东西的。
五、把工程布署到集群环境中去

[*]确保我们将要布署的工程中的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是一样的,请看:


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


 
  点[保存]并[激活更改]。
  大家来看看两个cluster即mycluster1与mycluster2下是否被布署了工程,即相当于我们手工要在两个tomcat节点的webapps目录里拷入我们的WAR工程,而weblogic只需要通过主控制域,自动将war工程布署在其下的所有子节点内。


 
  是的,果然,它自动布署了。就算我下面有10几个子节点,它也一样只需要在AdminServer上布署一次,自动同步。
  我们把这个工程启动起来吧。


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


 
  布署成功


 
  打开两个IE:
  一个输入: http://localhost:7011/cbbs
  一个输入: http://localhost:7012/cbbs


 
  Weblogic集群布署成功,接下去就是在Apache里进行派发了
六、使用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集群,搞定!
七、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

 
  点
  先建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)就全建完了,最后不要忘了点左边菜单上方的“激活更改”,保存您刚才的所有的更改。



 
分类: 中间件
weblogic的集群与配置
页: [1]
查看完整版本: weblogic的集群与配置(二)