资讯专栏INFORMATION COLUMN

Weblogic JMS消息中间件集群起停平台化操作的探索

IT那活儿 / 3411人阅读
Weblogic JMS消息中间件集群起停平台化操作的探索

JMS(JavaMessagingService)是Java平台上有关面向消息中间件的技术规范,它便于消息系统中的Java应用程序进行消息交换,并且通过提供标准的产生、发送、接收消息的接口简化企业应用的开发,翻译为Java消息服务。


JMS是一种与厂商无关的API,用来访问消息收发系统。它类似于JDBC(JavaDatabase Connectivity):这里,JDBC是可以用来访问许多不同关系数据库的API,而 JMS则提供同样与厂商无关的访问方法,以访问消息收发服务。许多厂商目前都支持JMS,包括IBM 的MQSeries、BEA的Weblogic JMS service和Progress 的SonicMQ。


对于WeblogicJMSservice的使用可以分为两部分,一部分是Weblogic作为服务端发布对应的JMS服务为客户端程序提供服务,一部分是我们的应用程序作为客户端发布消息到JMS服务端或从JMS服务端获取消息进行消费。


我们今天要说是WeblogicJMS service消息中间件集群起停平台化的实现探索:


[
一、集群常规起停方式
]


在日常运维JMS消息中间件集群时,如果需要起停服务,我们通常的做法是:


1、起集群

(1)登录管理Server的主机将AdminServer进程启动

(2)登录集群中所有的主机将对应主机的节点管理器进程启动

(3)登录JMS服务器管理后台,将所有的被管server启动

方法:域-环境-服务器-服务器概要-控制,勾选除AdminServer的所有被管Server,然后选择启动。


2、停集群

与起集群的操作顺序刚好反过来。


但是,这种人工手动登录控制台起停集群的方式,无法实现平台化操作。


[
二、集群平台化起停方式
]


探索方式1:编写shell脚本起停集群

(1)编写AdminServer起停脚本

start9001.sh

export PORT="9001"

export USER_MEM_ARGS="-Xms256m -Xmx256m -Djava.security.egd=file:/dev/./urandom"

nohup sh ./bin/startWebLogic.sh >./console9001.log &

tail -f ./console9001.log


(2)编写节点管理器起停脚本

startNode5556.sh

nohup sh ./bin/startNodeManager.sh >./node5556.log &

tail -f ./node5556.log


(3)编写被管server起停脚本

如:start11001.sh

export PORT="11001"

export USER_MEM_ARGS="-Xms512m -Xmx512m -Dweblogic.threadpool.MinPoolSize=100 -Dweblogic.threadpool.MaxPoolSize=200 -Djava.security.egd=file:/dev/./urandom"

nohup sh ./bin/startManagedWebLogic.sh bossServer1 http://192.168.44.61:9001 >./console11001.log &

tail -f ./console11001.log


准备拉起集群,AdminServer和节点管理器正常起动,但是被管server起动失败:


根据提示”<2020-11-1 上午10时30分34秒CST> ”分析,服务器必须由NodeManager启动。于是我就开始第二阶段的探索,查到了nmStart()函数。


探索方式2:通过nmStart()函数起停集群

通过nmStart()函数起停集群,则就要用到weblogic自带的wlst.sh脚本进行域的连接,Weblogic10.3.6版本该脚本通常在${WLS_HOME}/common/bin/wlst.sh位置。


(1)我们通过如下步骤成功的连接到域:

WLS_HOME="/weblogic/Oracle/Middleware/wlserver_10.3"

${WLS_HOME}/common/bin/wlst.sh

connect(weblogic,weblogic!123,t3://192.168.44.61:9001)


(2)在连接到节点管理器

nmConnect(weblogic,weblogic!123,192.168.44.61,5556,bossdomain,/bossapp/domains/bossdomain,plain)

根据连接报错提示,分析结果是需要在节点管理器的/bossapp/domains/bossdomain/config/nodemanager/nm_password.properties文件中配置控制台登录用户名和密码即可:


成功连接:


(3)下一步通过nmStart()函数起动被管server

能起动成功,但是几分钟之后就会报错”<2020-11-1 上午11时00分44秒CST>

Reason: Server isnot in the majority cluster partition>”,


server状态就会转为FAILED状态:


提SR咨询,未分析到具体原因,但反馈可以使用start()函数起动被管server。


探索方式3:通过start()函数起停集群

连接域的步骤同方式2,但不需要执行方式2的第(2)步,否则会报错。


(1)我们通过如下步骤成功的连接到域:

WLS_HOME="/weblogic/Oracle/Middleware/wlserver_10.3"

${WLS_HOME}/common/bin/wlst.sh

connect(weblogic,weblogic!123,t3://192.168.44.61:9001)


(2)下一步通过start()函数起动被管server

被管server起动成功:


state()函数查server状态:


shutdown()函数,停server:


[
三、总结
]


结果多次尝试探索之后,确认通过start()函数、shutdown()函数、state()函数对被管server起动、停止、查看状态是可行的,然后我们就可将上述函数进行脚本封装。针对AdminServer和节点管理器的起停操作脚本,参考方式1即可。如此,我们即可实现WeblogicJMS消息中间件集群起停平台化操作。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/130095.html

相关文章

  • 慕课网_《Java消息间件》学习总结

    摘要:时间年月日星期六说明本文部分内容均来自慕课网。这个时候,可以启动多台积分系统,来同时消费这个消息中间件里面的登录消息,达到横向扩展的作用。 时间:2017年07月22日星期六说明:本文部分内容均来自慕课网。@慕课网:http://www.imooc.com教学源码:无学习源码:https://github.com/zccodere/s... 第一章:课程介绍 1-1 课程安排 Java...

    twohappy 评论0 收藏0
  • 消息间件及ActiveMQ介绍

    摘要:中间件的分类基于远程过程调用的中间件。基于对象请求代理的中间件。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。 一.中间件 1.1 什么是中间件? 由于业务、机构和技术是不断变化的,因此为其服务的软件系统必须适应这样的变化。在合并、添加服务或扩展可用服务之后,公司可能无力负担重新创建信息系统所需的成本。正是在...

    jaysun 评论0 收藏0
  • 稳定高于一切金融行业如何用容器?

    摘要:在谷歌不是这样,谷歌不会把特定的应用装在某台服务器上,业务应用和服务器的强绑定对于谷歌这种量级的数据中心的维护难度太高了。但是金融机构的数据中心规模不像谷歌这么大,所以能做到业务应用和硬件的强绑定。 复杂的基础IT架构是传统金融的现状,如何快速响应用户需求,加快新业务上线速度,缩短产品的迭代周期? 数人云在容器落地金融云的2年实践中,实现金融核心业务技术WebLogic、J2EE、Or...

    scola666 评论0 收藏0
  • 消息间件——RabbitMQ(二)各大主流消息间件综合对比介绍!

    摘要:主流消息中间件介绍是由出品,是一个完全支持和规范的实现。主流消息中间件介绍是阿里开源的消息中间件,目前也已经孵化为顶级项目。 showImg(https://img-blog.csdnimg.cn/20190509221741422.gif);showImg(https://img-blog.csdnimg.cn/20190718204938932.png?x-oss-process=...

    hiyang 评论0 收藏0

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<