一种WebLogic集群的自动部署方案的制作方法

文档序号:12182448阅读:735来源:国知局
一种WebLogic集群的自动部署方案的制作方法与工艺

本发明涉及WebLogic、Shell、FreeMarker技术领域,具体涉及一种WebLogic集群的自动部署方案,实现了WebLogic集群的一键安装自动化智能部署,在大大节省部署成本的同时,可以接入并兼容市面上各类应用引擎设计,将复杂繁琐的WebLogic集群部署简单化,系统化,规范化。



背景技术:

WebLogic是美国Oracle公司出品的一个Application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。WebLogic Server简化了可移植及可扩展的应用系统的开发,并为其它应用系统和系统提供了丰富的互操作性。凭借其出色的群集技术,WebLogic Server拥有最高水平的可扩展性和可用性。

WebLogic Server Domain(域)是一个逻辑的管理单元,一个Oracle WebLogic Server域是多个Java组件的逻辑相关组。Domain是WebLogic中最大的概念,一个域下面包含着WebLogic应用服务器中的所有东西,WebLogic应用服务器的启动,停止都是以domain为单位进行管理的。域是由单个管理服务器管理的WebLogic Server实例的集合。

一个WebLogic domain包含了一个特定WebLogic服务器实例:Administration Server,Administration Server是整个domain的配置以及管理所有资源的中心点。通常情况下,还会在这个domain中通过配置来扩展出其他的WebLogic服务器实例,扩展出来的服务器实例叫做Managed Server。



技术实现要素:

本发明要解决的技术问题是:本发明针对以上问题,提供一种WebLogic集群的自动部署方案,通过create_domain.rsp配置文件完成WebLogic中最关键的域创建工作,结合Shell脚本,完成集群创建的命令执行过程,在大大节省部署成本的同时,可以接入并兼容市面上各类应用引擎设计,将复杂繁琐的WebLogic集群部署简单化,系统化,规范化大大节约了运维成本、人员成本,缩短了部署的周期。

本发明所采用的技术方案为:

一种WebLogic集群的自动部署方案,所述方案通过构建rsp配置文件完成WebLogic中域创建工作,结合Shell脚本,完成集群创建的命令执行过程。

所述方案采用WebLogic集群模式,集群由两类节点组组成,其中一类节点组安装AdminServer、ProxyServer、HealthMonitor三种组件,完成WebLogic集群管理节点建立;另一类节点组为发布应用而设置,仅安装ManageServer组件。

所述方法实现步骤如下:

1)安装JDK环境,解压WebLogic安装包,配置MW_HOME;

2)执行configure.sh和setWLSEnv.sh脚本,完成环境配置;

3)优化内存;

4)通过create_domain.rsp配置文件,完成域的创建;

5)增加JVM,将用户名和密码写入启动脚本,启动WebLogic。

所述WebLogic启动顺序为AdminServer、ProxyServer、ManageServer。

AdminServer和ManageServer采用不同的配置文件,共同完成集群的创建。

AdminServer和ManageServer采用不同启动脚本。

rsp配置文件中变量采用FreeMarker语言完成。

本发明的有益效果为:

本发明能很好的实现WebLogic集群的自动化部署,解决WebLogic安装的繁琐配置过程,并通过性能优化,加快集群的创建启动。通过本方案的实施,使WebLogic应用引擎部署更加容易、更加智能化,大大节省了部署的成本,操作简单,易用性,通用性都得到保证。因此,极具推广价值。

附图说明

图1为WebLogic集群结构示意图;

图2为WebLogic集群自动部署流程示意图。

具体实施方式

根据说明书附图,结合具体实施方式对本发明进一步说明:

实施例1:

一种WebLogic集群的自动部署方案,所述方案通过构建rsp配置文件(create_domain.rsp)完成WebLogic中最关键的域创建工作,结合Shell脚本,完成集群创建的命令执行过程。

实施例2

如图1所示,在实施例1的基础,本实施例所述方案采用WebLogic集群模式,集群由两类节点组组成,其中一类节点组安装AdminServer、ProxyServer、HealthMonitor三种组件,完成WebLogic集群管理节点建立,通过ProxyServer完成集群代理访问,负载均衡,Session(会话)共享等,提高并发访问能力;另一类节点组为发布应用而设置,仅安装ManageServer组件,可结合弹性伸缩完成业务增长所需。

实施例3

如图2所示,在实施例2的基础,本实施例所述方法实现步骤如下:

1)安装JDK环境,解压WebLogic安装包,配置MW_HOME;

采用WebLogic10.3.6安装包,关键代码如下:

mkdir/opt/WebLogic

mkdir/opt/WebLogic/mywls

unzip wls1036_dev.zip-d/opt/WebLogic/mywls

echo'

export MW_HOME=/opt/WebLogic/mywls

'>>/etc/profile

source/etc/profile

2)执行configure.sh和setWLSEnv.sh脚本,完成环境配置;

cd/opt/WebLogic/mywls

./configure.sh&

cd/opt/WebLogic/mywls/wlserver/server/bin/

../setWLSEnv.sh&

3)优化内存,便于创建域,提高WebLogic集群性能;

cd/opt/jdk1.7.0_67/jre/lib/security/

mv java.security java.security.bak

cat java.security.bak|sed"s/^securerandom.source=.*/securerandom.source=file:/dev/./urandom/g">java.security

4)通过create_domain.rsp配置文件,完成域的创建;

AdminServer中的rsp文件如下:

read template from"/opt/WebLogic/mywls/wlserver/common/templates/domains/wls.jar";

set JavaHome"/opt/jdk1.7.0_67";

set ServerStartMode"dev";

find Server"AdminServer"as AdminServer;

set AdminServer.ListenAddress"${node.floatingIp}";

set AdminServer.ListenPort"7001";

<#list instance.ngs as nodeGroupEntity>

<#list nodeGroupEntity.nodeEntites as nodeEntity>

<#if(nodeEntity.floatingIp!=node.floatingIp)>

<#list nodeEntity.hostname?split("-")as hostname>

<#if!hostname_has_next>

create Server"${nodeEntity.hostname}"as MS${hostname};

set MS${hostname}.ListenAddress"${nodeEntity.floatingIp}";

set MS${hostname}.ListenPort"7002";

</#if>

</#list>

</#if>

</#list>

</#list>

create Server"proxySever"as MSP;

set MSP.ListenAddress"${node.floatingIp}";

set MSP.ListenPort"8080";

create Cluster"MyCluster"as mycluster;

<#if coms.ManagedServer.hostnames??>

<#list coms.ManagedServer.hostnames as hostname>

<#if hostname??>

assign Server"${hostname}"to Cluster"MyCluster";

</#if>

</#list>

</#if>

set mycluster.ProxyServer"proxySever";

create Machine"iop.com"as Machinename;

find User"WebLogic"as u1;

set u1.password"${instance.confs.password}";

write domain to"/opt/WebLogic/domain";

close template;

ManagedServer中的rsp文件如下:

read template from"/opt/WebLogic/mywls/wlserver/common/templates/domains/wls.jar";

set JavaHome"/opt/jdk1.7.0_67";

set ServerStartMode"dev";

find Server"AdminServer"as AdminServer;

set AdminServer.ListenAddress"${node.floatingIp}";

set AdminServer.ListenPort"7001";

<#list node.hostname?split("-")as hostname>

<#if!hostname_has_next>

create Server"${node.hostname}"as MS${hostname};

set MS${hostname}.ListenAddress"${node.floatingIp}";

set MS${hostname}.ListenPort"7002";

</#if>

</#list>

find User"WebLogic"as u1;

set u1.password"${instance.confs.password}";

write domain to"/opt/WebLogic/domain";

close template;

5)增加JVM,将用户名和密码写入启动脚本,启动WebLogic,包括AdminServer、ProxyServer和ManageServer。

JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

增加JVM的关键代码如下:

cd/opt/WebLogic/domain/bin

mv setDomainEnv.sh setDomainEnv.sh.bak

cat setDomainEnv.sh.bak|sed"s/WLS_MEM_ARGS_64BIT=.*/WLS_MEM_ARGS_64BIT=\"-Xms512m-Xmx1024m\"/g"|sed"s/WLS_MEM_ARGS_32BIT=.*/WLS_MEM_ARGS_32BIT=\"-Xms512m-Xmx1024m\"/g">setDomainEnv.sh

${node.hostname}http://${coms.AdminServer.ips[0]}:7001&

实施例4

在实施例2或3的基础,本实施例所述WebLogic启动顺序为AdminServer、ProxyServer、ManageServer。

AdminServer中的启动方式如下:

cd/opt/WebLogic/domain/bin

./startWebLogic.sh&

mv startManagedWebLogic.sh startManagedWebLogic.sh.bak

cat startManagedWebLogic.sh.bak|sed"s/WLS_USER=.*/WLS_USER=\"WebLogic\"/g"|sed"s/WLS_PW=.*/WLS_PW=\"${instance.confs.password}\"/g">startManagedWebLogic.sh

chmod 750startManagedWebLogic.sh

./startManagedWebLogic.sh proxySever http://${node.floatingIp}:7001&

ManagedServer中的启动方式如下:

cd/opt/WebLogic/domain/bin

mv startManagedWebLogic.sh startManagedWebLogic.sh.bak

cat startManagedWebLogic.sh.bak|sed"s/WLS_USER=.*/WLS_USER=\"WebLogic\"/g"|sed"s/WLS_PW=.*/WLS_PW=\"${instance.confs.password}\"/g">startManagedWebLogic.sh

chmod 750startManagedWebLogic.sh

./startManagedWebLogic.sh

实施例5

在实施例4的基础,本实施例AdminServer和ManageServer采用不同的配置文件,共同完成集群的创建。

实施例6

在实施例5的基础,本实施例AdminServer和ManageServer采用不同启动脚本。

实施例7

在实施例6的基础,本实施例rsp配置文件中变量采用FreeMarker语言完成。

实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1