weblogic jms消息 删除_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起动失败:

d91e0278ebf47392957633f52d6fdf93.png

根据提示”<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')

36a37322c755f72aaa67d6202e175dfe.png

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

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

648ff23a0528391ed99db8b2ed6fc1d3.png

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

46fc539d770e3f85655b6f9d45111edc.png

成功连接:

64436169bc861f149e4836462b36922c.png

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

6cf9e6ed0de12b4b6a25e57dcf56f51c.png

12aa9930edc7b6aefbf41511322c92b5.png

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

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

server状态就会转为FAILED状态:

a0bb703ff049a1679f2ac3bd2e37a24d.png

7d1a6d7d6e18e2b7efcde66c796d13dd.png

提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')

36a37322c755f72aaa67d6202e175dfe.png

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

被管server起动成功:

0ffe5ff9acacaa0642d9e63f139cd634.png

c4cf0850dada922382a1c669b2559231.png

2d82e1522299ac18299ced41f47721c8.png

633927ee2f049ac293565ac185c894af.png

88aaf2b2844635a095fdfbf42c4b19e3.png

state()函数查server状态:

43f972e7e23680080706ac9b53ebfc2e.png

shutdown()函数,停server:

19ee4269fdf79199addcf3585970e275.png

[ 三、总结 ]

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值