weblogic多机多节点部署参考实例


此次以10.128.22.21和10.128.22.22两台服务器为例,来描述应用部署的步骤。并以10.128.22.21:7001作为管理服务器

主管服务器相关配置

创建domain

/home/weblogic/weblog10/wlserver_10.3/common/bin/config.sh

执行 config.sh

选择创建新的weblogic域

选择weblogic Platfrom 组件

选择要使用的模板这里直接点击下一步即可

输入需要创建的domain的名称(主管服务器和受管服务器名称建议一致)

选择默认位置

根据提示输入用户口令并进行确认

根据需要选择开发模式或者生产模式这里选择生产模式

选择预先设置好的JDK

下一步根据提示创建好domain

启动weblogic服务

/home/weblogic/weblog10/userprojects/domains/tpcenterdomain

执行 startWebLogic.sh

此时需要根据提示输入之前设置的weblogic用户名和密码,密码输入正确则可以正常启动

成功启动weblogic服务之后进入

/home/weblogic/weblog10/userprojects/domains/tpcenterdomain/servers/AdminServer

目录下创建security文件夹并在文件夹中写入boot.properties

username=XXXXX

password=xxxxxx

之后重新启动weblogic服务,系统会自动读取boot.properties并对用户名和密码进行加密,后续启动无需手动输入weblogic用户名密码

新建server

登录domain的控制台,查看环境->服务器

点击新建按钮新建Server2101

*如果涉及其他电脑访问 ,请将127.0.0.1改成部署电脑的ip地址

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

新建集群

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

新建成功后返回集群列表页面如下图所示

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

点击添加按钮将Server2101添加到集群中

新建计算机

在控制台选择“计算机”->“新建”,如下图所示

修改“监听地址”为127.0.0.1(如果涉及其他电脑访问,请将127.0.0.1改成部署电脑的ip地址),其它保持不变,点击“完成”,如图所示

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

点击172.31.22.21 点击配置->服务器点击添加按钮,将Server2101添加到计算机172.21.22.21中

后续server可根据具体需要判断是否选择克隆server,这里由于server属性相同,可选中Server2101点击克隆(如不符合克隆条件,可参考以上创建步骤进行创建server)

这里根据需要克隆出Server2102、Server2103、Server2104端口号分别为8002、8003、8004

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

启动server

/home/weblogic/weblog10/userprojects/domains/tpcenterdomain/bin

执行

sh startManagedWebLogic.sh Server2101 http://172.31.22.21:7001

根据提示输入用户名密码并在对应server文件夹下建立boot.properties

启动节点管理器服务

/home/weblogic/weblog10/wlserver_10.3/server/bin

执行startNodeManager.sh

执行后,可以看到 /home/weblogic/weblog10/wlserver_10.3/common/nodemanager路径下 文件夹nodemanager创建了如图以下文件

关闭node服务并对node服务进行配置主要确保以下属性配置正确

StartScriptEnabled=true

ListenAddress=127.0.0.1(*如果涉及多台电脑访问,此处设置成部署电脑的ip地址这里配置172.31.22.21)

StartScriptName=startWebLogic.sh

配置完成之后执行startNodeManager.sh (nohup启动)

忽略主机签名验证

在控制台中选择环境->服务器->AdminServer->配置->SSL,主机签名验证选择无,如下图所示:

点击“高级”,选择“主机名验证”为“无”,点击“保存” 同理,依次设置其他server的SSL主机名验证为“无”

因为主机名验证,需要重启后才生效,否则server与节点管理器之间的SSL握手不成功,节点管理器日志会报错,因此一定要重启weblogic服务

Weblogic服务启动完毕之后登陆控制台启动

Server2101、Server2102、Server2103、Server2104

受管服务器相关配置

根据以上步骤创建domain 并新建所需server 此处不再赘述(主机2 作为受管服务器域名要和管理服务器域名及路径一致)

在管理服务器中配置受管服务器如下图

主管服务器配置

创建受管服务器对应的计算机如下图

该计算机对应的为受管服务器计算机需要将通信类型修改为普通

在该受管计算机中添加受管服务器

受管服务器配置

在受管服务器主机中使用 wlst 工具从管理服务器中同步节点管理器机密文件

(nm_password.properties) SerializedSystemIni.dat

更新/nodemanager 目录下 nodemanager.domains 文件中的域信息。

操作命令如下:

设置 wlst 环境变量:

/home/weblogic/weblog10/wlserver_10.3/server/bin

setWLSEnv.sh

执行 wlst 工具

/home/weblogic/weblog10/wlserver_10.3/common/bin

wlst.sh

在 wls:/offline>中输入 connect 命令, 连接管理服务器, t3 为 weblogic 协议不可修改:connect

('管理服务器用户名','管理服务器密码','t3://管理服务器 ip:端口')

提示如下信息

connect ('weblogic','weblogic@2017','t3://172.31.22.19:7001')

在 wls:/offline>中输入 nmEnroll 命令,从管理服务器中下载文件:

nmEnroll([domainDir], [nmHome])

domainDir :保 存 节 点 管 理 器 的 机 密 文 件 (nm_password.properties) 和SerializedSystemIni.dat 文件的域目录的路径

nmHome:节点管理器主目录的路径

nmEnroll('/home/weblogic/weblog10/userprojects/domains/ydpicdomain/','/home/weblogic/weblog10/wlserver_10.3/common/nodemanager/')

退出 wlst 工具命令:exit()

在 受 管 服 务 器 中 , 修 改 nodemanager.properties 启 动 配 置 文 件 , 路 径 为

/wlserver_12.1/common/nodemanager/nodemanager.properties

修改如下内容

ListenAddress=为本机 ip 地址

ListenPort=节点管理器监听端口

SecureListener=false

在受管服务器主机中启动节点管理器,节点管理器启动

在管理控制台关联受管服务器对应的应用,启动即可。

项目部署

进入weblogic管理界面点击部署 安装

找到对应的项目路径

下一步

选择需要部署的server

配置部署信息

源可访问性需要修改为,以提供所有目标将访问此应用程序文件的位置。这通常是一个共享目录。必须确保应用程序文件存在于此位置, 且每个目标都可以访问此位置。

点击完成

点击激活更改

查看部署状态

数据源配置

进入weblogic 管理界面点击 服务-数据源-新建

新建一般数据源

数据源名称可自定义,例如JDBCINTTEST

JNDI名称需和weblogic.xml中保持一致,建议JNDI名称和weblogic.xml 、web.xml中均保持一致。选择相应的数据库类型

以及对应的数据库驱动程序

根据数据库连接信息配置JDBC数据源,点击下一步点击测试配置可检测是否连接成功

选择数据源目标,可指向一个或多个server,也可以指向集群服务

数据源配置完毕之后点击激活更改完成数据源配置

相关编码配置

修改服务器编码

1、执行命令echo $LANG查看编码格式;

2、如果编码格式不是zhCN.gb18030,则使用命令vi .bashprofile,输入export LANG=zh_CN.gb18030;

3、执行. ./.bash_profile;

修改setDomainEnv.sh

在文件末尾增加

JAVAOPTIONS="${JAVAOPTIONS} -Dfile.encoding=gbk"

export JAVA_OPTIONS

如果遇到使用脚本启动不乱码使用weblogic*控制台启动乱码情况,需要在startWebLogic.sh* 中增加

CLASSPATH="${CLASSPATH}${CLASSPATHSEP}${MEDRECWEBLOGICCLASSPATH}"

export LCALL="zhCN.gb18030" 在脚本中设置字符集编码

Domain内存分配

1、admin server与manager server内存分配缺陷描述

Weblogic服务器一般会为每一个业务系统设计一个或多个域(domain),每一个域(domain)服务主体必须由Admin server和Manage Server两类Server组成,两类Server都需要占用一定的内存资源(人工配置),Manage Server负责运行业务,Admin Server则只负责管理Manage Server,只是在启动Weblogic和需要调整Weblogic配置时才使用,启动Weblogic后,Admin Server关闭也不影响业务的正常使用,所以Manage Server确实需要大内存支持,但Admin Server则只需要500MB左右内存来维持它开启着随时待命而已。

Admin server和Manage Server默认设计获取内存配置的方式为:共同调用WEBLOGIC安装目录bea/userprojects/domain/{domainname}/bin目录下的setDomainEnv.sh文件中的“MEM_ARGS”参数来获取内存大小,导致Admin server和Manage Server都获取到了相同大小的内存。

例如:因为业务的性能需要为Manage Server配置4GB内存,即在setDOMAINenv.sh文件中配置4GB的内存大小,

MEM_ARGS="-Xms4096m -Xmx4096m

这样,Manage Server确实可以获得4GB内存,但是,每个Domain(域)下面的Admin Server也同样获得了4GB,Admin Server在此浪费3.5GB内存,如果一个系统有多个Domain(域),或是一台服务器上部署有多套系统的Weblogic,浪费的内存总数则需相乘。

上述情况属于Weblogic设计与配置上存在的双重缺陷。

2、admin server与manager server内存分配缺陷带来的影响

(1)、多套系统共用服务器,以分别创建不同域的方式区分系统,或,一套系统,不同的模块分别以创建不同域来隔离模块服务的方式,形成了一台Weblogic服务器上创建了多个域的情况,每一个域必定有一个Admin Server,使得多个Admin server存在于同一台服务器上的现实情况,在大型公司中,由于中间件服务器数量的庞大,对硬件设备的浪费是惊人的。

(2)、在内存配置本身不富裕的系统中,浪费的大量内存使得系统性能急剧下降,甚至引起服务器停止响应与down机

(3)、由于Admin Server浪费了不必要的内存空间,原本可以将多套系统Weblogic共同部署于同一台服务器即可解决的,不得不再多配置一台服务器设备,不仅是硬件设备资源的浪费,还会加大运维人力资源的投入、电力资源的投入、机房空间资源的投入、网络设备资源的投入等等

3、优化策略

3.1内存获取方式架构设计优化调整

3.1.1优化前旧架构(默认)
3.1.2优化后新架构

3.2 内存获取配置代码调整

为每个DOMAIN(域)的bin目录下startWebLogic.sh文件,增加以下内容:

在 echo "JAVA Memory arguments:${MEM_ARGS}" 前面加入如下行:

if [ "${SERVERNAME}" = "AdminServer" ] ; then MEMARGS="-Xms512m -Xmx512m -XX:MaxPermSize=256m" fi

重启Weblogic即调整完毕。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,607评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,047评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,496评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,405评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,400评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,479评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,883评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,535评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,743评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,544评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,612评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,309评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,881评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,891评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,136评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,783评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,316评论 2 342

推荐阅读更多精彩内容