WebLogic11g- 集群化

其实网上关于weblogic集群的资料非常多【大部分都是从创建新的domain开始,我这篇先介绍怎么样把原本普通的domain改造为集群环境】,如果觉得不够,可以啃weblogic的官方文档。下面给几个weblogic资料的链接,有兴趣可以慢慢学习: 
oracle官方weblogic文档: 
http://docs.oracle.com/cd/E21764_01/wls.htm 
原weblogic9的中文文档(weblogic11g的很多操作与weblogic9类似): 
http://edocs.weblogicfans.net/wls/docs92/index.html 

这篇文章有个前提,就是你已经知道如何创建基本的domain了,并且已经有一个现成的普通domain,如果还没有,先参考: 
http://dead-knight.iteye.com/blog/1938629。 

废话不多说,既然标题说“半小时”,那么就赶紧利用这半小时来改造你的domain吧。 
第一步:首先规划你的集群,我这里规划如下(全部在本机部署,多主机部署后面单独写): 

服务器名称 ip地址 端口
server1 127.0.0.1 7101
server2 127.0.0.1 7102



第二步:按照规划的结果,新建服务器: 
登录domain的控制台,查看环境-》服务器,如下图所示: 


点击“新建”按钮,新建服务器server1,如下图所示: 

输入规划的服务器名称server1,地址、监听端口,点击“完成”返回服务器列表页面,如下图所示: 


继续新建服务器server2,如下图所示: 

输入规划的服务器名称server2,地址、监听端口,点击“完成”返回服务器列表页面,如下图所示: 


第三步:新建集群,并添加服务器: 
在控制台选择“集群”-》“新建”,如下图所示: 

在新建界面中,输入集群的名称cluster,并点击“确定”即可,如图所示: 

新建成功,返回集群列表界面,如图所示: 


点击列表中的cluster链接,打开集群配置界面,选择“配置”-》服务器,如图所示: 

点击“添加”按钮,进入如图所示页面: 

选择服务器server1,直接点击“完成”,返回服务器列表,如图所示: 

已经添加server1服务器,继续添加server2: 



至此,集群已经新建完毕。 

第四步:新建计算机(不是必须的,但是为了方便后期维护及管理服务器,这一步还是不省了) 
在控制台选择“计算机”-》“新建”,如下图所示: 

在新建界面中,输入名称machine,并点击“下一步”即可,如图所示: 

修改“监听地址”为127.0.0.1,其它保持不变,点击“完成”,如图所示: 

新建成功,返回计算机列表界面,如图所示: 


点击列表中的machine链接,打开计算机配置界面,选择“配置”-》服务器,如图所示: 

点击“添加”按钮,进入如图所示页面: 

选择服务器server1,直接点击“完成”,返回服务器列表。 
继续按照上述步骤添加server2,点击“完成”。最后如图所示: 


至此,服务器、集群、计算机都已经配置成功,选择“环境”-》服务器,最后结果如图所示: 


第五步:启动节点管理器服务: 
安装节点管理器作为windows服务,双击执行下面的cmd程序: 
D:\server\weblogic11\wlserver_10.3\server\bin\installNodeMgrSvc.cmd 
执行之后,windows服务会增加weblogic的节点管理服务,如下图所示: 
 
可以手动启动这个服务,启动之后,再关闭,因为还要做简单的配置。进入如下位置: 
D:\server\weblogic11\wlserver_10.3\common\nodemanager文件夹 
1)检查domains(nodemanager.domains): 

Java代码  收藏代码
  1. #Domains and directories created by Configuration Wizard  
  2. #Sun Sep 15 16:34:01 CST 2013  
  3. springside3=D\:\\server\\weblogic11\\user_projects\\domains\\springside3  


确保domains文件中包含你的domain 

2)配置hosts(nodemanager.hosts),只需要把之前配置计算机的地址添加进来即可: 

Java代码  收藏代码
  1. 127.0.0.1  



3)配置nodemanager.properties: 

Java代码  收藏代码
  1. #Sun Sep 15 12:54:48 CST 2013  
  2. #Sat Aug 17 21:12:34 CST 2013  
  3. DomainsFile=D\:\\server\\WEBLOG~1\\WLSERV~1.3\\common\\NODEMA~1\\nodemanager.domains  
  4. LogLimit=0  
  5. PropertiesVersion=10.3  
  6. DomainsDirRemoteSharingEnabled=false  
  7. javaHome=D\:\\Java\\JDK16~1.0_2  
  8. AuthenticationEnabled=true  
  9. NodeManagerHome=D\:\\server\\WEBLOG~1\\WLSERV~1.3\\common\\NODEMA~1  
  10. JavaHome=D\:\\Java\\JDK16~1.0_2\\jre  
  11. LogLevel=INFO  
  12. DomainsFileEnabled=true  
  13. StartScriptName=startWebLogic.cmd  
  14. ListenAddress=127.0.0.1  
  15. NativeVersionEnabled=true  
  16. ListenPort=5556  
  17. LogToStderr=true  
  18. SecureListener=true  
  19. LogCount=1  
  20. DomainRegistrationEnabled=false  
  21. StopScriptEnabled=false  
  22. QuitEnabled=false  
  23. LogAppend=true  
  24. StateCheckInterval=500  
  25. CrashRecoveryEnabled=false  
  26. StartScriptEnabled=true  
  27. LogFile=D\:\\server\\WEBLOG~1\\WLSERV~1.3\\common\\NODEMA~1\\nodemanager.log  
  28. LogFormatter=weblogic.nodemanager.server.LogFormatter  
  29. ListenBacklog=50  


主要确保:StartScriptEnabled=true、ListenAddress=127.0.0.1、StartScriptName=startWebLogic.cmd 

配置完成,再启动刚才的windows节点管理器服务。 

第六步:忽略主机名验证: 
在控制台中选择环境-》服务器-》AdminServer-》配置-》SSL,如下图所示: 

点击“高级”,选择“主机名验证”为“无”,点击“保存” 
同理,依次设置server1、server2的SSL主机名验证为“无” 
【切记:这一步完成,一定要重启domain。因为主机名验证,需要重启后才生效,否则server与节点管理器之间的SSL握手不成功,节点管理器日志会报错(节点管理器日志文件夹在D:\server\weblogic11\wlserver_10.3\common\nodemanager)】 

第七步:启动server1、server2: 
由于重启后,重新登录控制台,选择环境-》服务器-》控制,如下图所示: 

选择server1,点击“启动”按钮,即向节点管理器发送启动server1命令,节点管理器负责启动server1.依次启动server2,最后如下图所示: 

至此说明一个普通的domain已经改造成集群了,下面开始部署web应用。 

第八步:部署应用: 

如上图所示,选择部署-》安装,选择一个web应用,这里还是以springside3的mini-web为例,这里的区别是在WEB-INF下面增加了weblogic.xml文件,里面增加了session持久化类型为:replicated,即表示web应用部署到集群环境中,支持session复制,即server挂掉之后,不会跳转到登录页面,配置如下: 

Java代码  收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <wls:weblogic-web-app  
  3. xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app"  
  4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  5. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee  
  6. http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd  
  7. http://xmlns.oracle.com/weblogic/weblogic-web-app  
  8. http://xmlns.oracle.com/weblogic/weblogic-web-app/1.2/weblogic-web-app.xsd">  
  9.     <wls:session-descriptor>  
  10.         <wls:persistent-store-type>replicated</wls:persistent-store-type>  
  11.     </wls:session-descriptor>  
  12. </wls:weblogic-web-app>  



选择应用之后,一直下一步,直到出现如下图所示界面: 

这一步是让你选择将应用部署到哪个server中。如果在集群环境中,不会把应用直接部署到AdminServer中,基本上都是选择:集群中的所有服务器。 
继续下一步,直到完成即可。 

下面访问应用url:http://127.0.0.1:7101/mini-web-cluster,如下图所示: 

这时候以admin、admin登录应用。没什么好说的。 

下面测试一下session复制,把server1关闭,在控制台选择:环境-》服务器-》控制-》server1-》关闭-》立即强制关闭。 
状态变为:SHUTDOWN 
下面直接访问server2的应用,如下图所示: 

这时候,直接把端口改为server2的7102即可,发现没有返回登录界面,而是登录后的界面。说明session在集群管理下,复制成功了。 

在实际环境中,会有前端的负载均衡。而不会直接在url中指定访问某个节点。下篇介绍负载均衡及相关操作吧。 
实际上,这篇只是介绍了大概的操作步骤,并没有详细讲解其中的细节(比如:集群的地址、配置计算机的作用、节点管理器、主机名验证等等相关概念),相关细节后面逐步介绍。虽然集群能够提高系统的可靠性、并发数,但同时也带来维护的复杂性。所以慎重考虑……

posted @ 2015-07-24 16:21  wangjuneng  阅读(335)  评论(0编辑  收藏  举报