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):
- #Domains and directories created by Configuration Wizard
- #Sun Sep 15 16:34:01 CST 2013
- springside3=D\:\\server\\weblogic11\\user_projects\\domains\\springside3
确保domains文件中包含你的domain
2)配置hosts(nodemanager.hosts),只需要把之前配置计算机的地址添加进来即可:
- 127.0.0.1
3)配置nodemanager.properties:
- #Sun Sep 15 12:54:48 CST 2013
- #Sat Aug 17 21:12:34 CST 2013
- DomainsFile=D\:\\server\\WEBLOG~1\\WLSERV~1.3\\common\\NODEMA~1\\nodemanager.domains
- LogLimit=0
- PropertiesVersion=10.3
- DomainsDirRemoteSharingEnabled=false
- javaHome=D\:\\Java\\JDK16~1.0_2
- AuthenticationEnabled=true
- NodeManagerHome=D\:\\server\\WEBLOG~1\\WLSERV~1.3\\common\\NODEMA~1
- JavaHome=D\:\\Java\\JDK16~1.0_2\\jre
- LogLevel=INFO
- DomainsFileEnabled=true
- StartScriptName=startWebLogic.cmd
- ListenAddress=127.0.0.1
- NativeVersionEnabled=true
- ListenPort=5556
- LogToStderr=true
- SecureListener=true
- LogCount=1
- DomainRegistrationEnabled=false
- StopScriptEnabled=false
- QuitEnabled=false
- LogAppend=true
- StateCheckInterval=500
- CrashRecoveryEnabled=false
- StartScriptEnabled=true
- LogFile=D\:\\server\\WEBLOG~1\\WLSERV~1.3\\common\\NODEMA~1\\nodemanager.log
- LogFormatter=weblogic.nodemanager.server.LogFormatter
- 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挂掉之后,不会跳转到登录页面,配置如下:
- <?xml version="1.0" encoding="UTF-8"?>
- <wls:weblogic-web-app
- xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
- http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd
- http://xmlns.oracle.com/weblogic/weblogic-web-app
- http://xmlns.oracle.com/weblogic/weblogic-web-app/1.2/weblogic-web-app.xsd">
- <wls:session-descriptor>
- <wls:persistent-store-type>replicated</wls:persistent-store-type>
- </wls:session-descriptor>
- </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中指定访问某个节点。下篇介绍负载均衡及相关操作吧。
实际上,这篇只是介绍了大概的操作步骤,并没有详细讲解其中的细节(比如:集群的地址、配置计算机的作用、节点管理器、主机名验证等等相关概念),相关细节后面逐步介绍。虽然集群能够提高系统的可靠性、并发数,但同时也带来维护的复杂性。所以慎重考虑……
WebLogic11g- 集群化的更多相关文章
- WebLogic11g-半小时让你的domain集群化
WebLogic11g-半小时让你的domain集群化 WebLogic11g-负载分发 weblogic proxy.war配置 web.xml <!DOCTYPE web-app PUBLI ...
- 如何实现 集群化/Session 复制-doc(cluster-howto.html)
源文档链接: http://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html 翻译日期: 2014年3月19日 翻译人员: 铁锚 感受: Tomc ...
- 【1】基于quartz框架和Zookeeper实现集群化定时任务系统
(1)quartz本身可以支持集群化,是基于数据库做协调,现在构想基于zookeeper做协调实现集群化定时系统 流程图如下:
- keycloak集群化的思考
目录 简介 keycloak中的集群 load balancing负载均衡 暴露客户端IP地址 sticky sessions 和 非sticky sessions shared databases ...
- DB层面上的设计 分库分表 读写分离 集群化 负载均衡
第1章 引言 随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题.对于一个大型的 互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载.对于系统的稳定性和扩展性造成了极大的 ...
- 联想企业网盘:SaaS服务集群化持续交付实践
1 前言 当代信息技术飞速发展,软件和系统的代码规模都变得越来越大,而且组件众多,依赖繁复,每次新版本的发布都仿佛是乘坐一次无座的绿皮车长途夜行,疲惫不堪.软件交付是一个复杂的工程,涉及到软 ...
- redis的集群化方案
关于 目前有三种 (1)Twitter开发的twemproxy (2)豌豆荚开发的codis (3)redis官方的redis-cluster Twemproxy 架构简单 就是用proxy对后端re ...
- Ubuntu14.04 weblogic11g集群环境测试
在当前域下面新建两个服务器,服务器信息设置: server1:127.0.0.1:7010 server2:127.0.0.1:7020 第一步:新建服务器 (1)进入“服务器”,点击新建: (2)填 ...
- 【2】基于zookeeper,quartz,rocketMQ实现集群化定时系统
<一>项目结构图 (1)ZK协调分配 ===>集群中的每一个定时服务器与zookeeper交互,由集群中的master节点进行任务划分,并将划分结果分配给集群中的各个服务器节点. = ...
- mongodb集群化
转自:https://www.cnblogs.com/nulige/p/7613721.html 一.mongodb主从复制配置 主从复制是MongoDB最常用的复制方式,也是一个简单的数据库同步备份 ...
随机推荐
- 解决vite+elementplus 打包后出现的下拉列表多出空元素的bug
打包后下拉列表出现的空元素bug 之前的项目element-plus版本是 "^1.0.2-beta.70" 把他升级一下就好了 npm i element-plus@1.0.2 ...
- SQL怎么求多列的和?
日常比较常使用的SQL,查询各科的总分,并求出总分大于240的学生名字和总分,如图,要求出linux.Mysql.Java三科的总分,并查处总分大于240的学生姓名和总分 可能你会想到sum,但是su ...
- 单例模式(python)
python 的单例模式需要重写__new__()和 __init__() 需要注意,标识符__和_区别 参考资料: https://www.cnblogs.com/huchong/p/8244279 ...
- 第10组 Beta冲刺 (4/5)(组长)
1.1基本情况 ·队名:今晚不睡觉 ·组长博客: https://www.cnblogs.com/cpandbb/p/14018650.html ·作业博客:https://edu.cnblogs.c ...
- c#多进程通讯,今天,它来了
引言 在c#中,可能大多数人针对于多线程之间的通讯,是熟能生巧,对于AsyncLocal 和ThreadLocal以及各个静态类中支持线程之间传递的GetData和SetData方法都是信手拈来,那多 ...
- Kube-OVN1.5.0新版本发布,支持鲲鹏云平台网络平面部署
近日,Kube-OVN发布了最新的1.5.0版本.自2019年4月开源以来,Kube-OVN经历了15次重要版本迭代,以及社区成立,建设者贡献代码,稳定性测试,国内外用户开始在生产环境中投入使用,企业 ...
- Flink SQL任务自动生成与提交
目录 起因 思路 实现 1.配置 2.界面如下 3.环境 问题 起因 事情的起因,是看到一篇公众号文章Apache Flink 在汽车之家的应用与实践,里面提到了"基于 SQL 的开发流程& ...
- Easticsearch概述(ES、Lucene、Solr)一
ES是在Lucene的基础上实现的 1.Lucene全文检索 lucene是一个全文搜索框架,而不是应用产品.因此它并不像http://www.baidu.com/或goolge Destop 那么拿 ...
- Visaul Studio 2015 MFC控件使用之--按钮(Button)
在MFC开发当中,比较常用的控件之一便是Button控件了,该控件的除了可以通过点击产生的开关量当作开关来使用,还可以设置其颜色变化当作显示灯,按钮控件的使用相对来比较简单. 打开工程解决方案的资源视 ...
- 【机器学习】kNN
机器学习算法--kNN 目录 机器学习算法--kNN 1. 算法原理 2. 算法实现 2.1 kd-tree构造 2.2 kd-tree查询 2.3 kNN算法实现 3. 算法测试 Ref 1. 算法 ...