记录一次升级ActiveMQ版本遇到的问题

本周一AcitveMQ队列消费者的系统反馈他们无法正常监听到消息了,从MQ Console上看到该队列A的消息确实堆积了,Number Of Pending Messages 不断增加,本地开启消费者以及他们系统本地开启消费者都能正常监听到消息,但是线上就是不行,他们服务重启后问题依然无法解决,找不到解决的办法,我就考虑升级下AMQ版本,原版本为5.8.0(可从MQ Console中看到)。
从网上下载到最新版本:5.15.9,上传到服务器上后,修改了conf目录下activemq.xml的TCP端口号(生产者推送和消费者监听的端口)以及jetty.xml中的控制台端口号后,重启服务,提示PID已创建,但是ps查看进程,却找不到该进程信息,并且telnet本TCP端口,也不通,查看data目录下的activemq.log,发现文件修改时间还是3月份。
找不到更多提示信息,只好硬下头皮(shell水平有待提高)去读下bin目录下的启动脚本:activemq,看到有Detect the location of the java binary,突然想起来MQ是依赖JDK的,而服务器还是JDK1.6,新版本MQ可能不兼容,搜索下发现确认5.15.9版本需要JDK1.8。网上查找AMQ指定JDK目录,在bin目录下env文件中最后一段信息中env文件中指定JDK方式描述信息发现是使用:JAVACMD="auto"自动去服务器上查找,通过which java查看(/usr/bin/java)
服务器确实是JDK1.6。安装JDK1.8后,修改env文件中JAVACMD指定到JDK下/aaa/jdk1.8.0_144/bin/java,重启服务,依然不行。。。
难道配置没有生效,在bin目录下启动脚本activemq中增加输出:echo $JAVACMD,发现依然还是/usr/bin/java,奇怪,JAVACMD配置项没有生效,难道指定的JDK目录不对,随便改了下目录/aaa/jdk1.8.0_144/bin,重启服务依然不行,但是。。。 echo出来的JAVACMD目录是/aaa/jdk1.8.0_144/bin了,进到/aaa/jdk1.8.0_144以及/aaa/jdk1.8.0_144/bin目录查看,java文件自己登陆的用户没有x可执行权限,先不考虑为啥没有权限,先chmod增加上权限,再把JAVACMD调整为/aaa/jdk1.8.0_144/bin/java,启动,服务终于正常启动了,控制台也能正常查看了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值