存储中间件-MQ常见问题解决方法FAQ

上传人:ni****g 文档编号:507920272 上传时间:2023-09-07 格式:DOC 页数:6 大小:51.50KB
返回 下载 相关 举报
存储中间件-MQ常见问题解决方法FAQ_第1页
第1页 / 共6页
存储中间件-MQ常见问题解决方法FAQ_第2页
第2页 / 共6页
存储中间件-MQ常见问题解决方法FAQ_第3页
第3页 / 共6页
存储中间件-MQ常见问题解决方法FAQ_第4页
第4页 / 共6页
存储中间件-MQ常见问题解决方法FAQ_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《存储中间件-MQ常见问题解决方法FAQ》由会员分享,可在线阅读,更多相关《存储中间件-MQ常见问题解决方法FAQ(6页珍藏版)》请在金锄头文库上搜索。

1、IBM Websphere MQ FAQLast Release: 2006-1-2这里整理了IBM Websphere MQ的一些常见错误和解决方法,当发现MQ错误而一时无法解决时,可以参阅这里的解决方法,可能有所启发;多个原因可能会引发同一错误现象,为此对某种错误现象列出了好几种解决方法,工程人员需要根据实际情况用相应的解决方法处理。引发MQ错误的原因有很多,这里也无法一一罗列出来,对于无法在这里找到解决方法的错误,请将错误现象发给我(MSN: sqwen_,邮件: sqweneastcom-, ),我会定期将解决方法整理并添加到这份文档里面。1. 不能创建MQ队列管理器错误现象:java

2、x.jms.JMSException: MQJMS2005: 未能为192.168.1.21: 创建MQQueueManager at com.ibm.mq.jms.services.ConfigEnvironment.newException(ConfigEnvironment.java:546) at com.ibm.mq.jms.MQConnection.createQM(MQConnection.java:1450) at com.ibm.mq.jms.MQConnection.createQMNonXA(MQConnection.java:960) at com.ibm.mq.jms

3、.MQTopicConnection.(MQTopicConnection.java:152) at com.ibm.mq.jms.MQTopicConnection.(MQTopicConnection.java:114) at com.ibm.mq.jms.MQTopicConnectionFactory.createMQTopicConnection(MQTopicConnectionFactory.java:337) at com.ibm.mq.jms.MQTopicConnectionFactory.createTopicConnection(MQTopicConnectionFac

4、tory.java:214) at ipnet.sqwen.jmstest.JMSSubscriber.subscribe(JMSSubscriber.java:71) at ipnet.sqwen.jmstest.JMSSubscriber.main(JMSSubscriber.java:34)解决方法:l CCSID不对,修改相应队列管理器的CCSID与JNDI里面定义的相同;一般情况下,通过的队列管理器CCSID为1208,做JMS pub/sub的队列管理器CCSID为819。l 运行mqMonitor脚本中的mc.sh,查看现在的连接数,是否为100;如果是,则是达到了默认情况下通道

5、的最大连接数,需要优化MQ的配置;具体优化的方法是修改/var/mqm/qmgrs/XXX/qm.ini文件,增加:Channels:MaxChannels=xxxxMaxActiveChannels=xxxxxxxx表示需要配置的最大通道数和最大活动通道数,根据实际情况指定,100是默认值,对一般的队列管理器是足够的,对于QM_BASE、QM_DC、QM_TOPIC、QM_PS_FM需要增大为200直至1000,最大值允许为9999。l 查看这个连接所用的通道是否存在。非JNDI方式的通道配置看配置文件,JNDI方式的话,在JMSAdmin下执行命令dis qcf(xxx)或dis tcf(

6、xxx)获取相应的通道名称,获取通道名称后,到runmqsc QM_XXX下dis chl(*)查看对应的通道是否存在;2. 代理(broker)无响应错误现象:使用MQ队列管理器做JMS pub/sub的时候无法成功,报代理无相应的错误(broker has no reponse)。解决方法:l 出现此现象的原因是代理(broker)没有启动或代理僵死,解决方法是启动代理或重启代理:endmqbrk m QM_XXX (只用于重启过程中)strmqbrk m QM_XXXl 也有可能是broker出现故障,需要重建:endmqbrk m QM_XXXdltmqbrk QM_XXXstrmqb

7、rk m QM_XXX3. 队列深度满错误现象:普通的队列管理器报队列深度满的错误解决方法:l 增加队列管理器的最大深度,默认队列深度为100000,可以根据需要增加为1000000或2000000。上runmqsc QM_XXXalter ql(Q_XXX) maxdepth(xxxxx)end4. SYSTEM.JMS.ND.SUBSCRIBER.QUEUE队列深度一直满错误现象:系统运行一段时间后,用于JMS pub/sub的队列管理器中的队列SYSTEM.JMS.ND.SUBSCRIBER.QUEUE一直保持在最大深度,即使增加最大队列深度,新增消息也很快使队列积压消息数达到最大深度。

8、解决方法:l 这种情况下,再次增加最大深度是没有意义的。需要相关的开发人员改进程序,在Publish消息之前,设置TimeToLive(单位为毫秒)的值为较小的值(默认TimeToLive=0,即永久存活),使Publish出去的消息只有有限的生命周期,超过TimeToLive设定的时间值将被MQ队列管理器自动删除。5. 运行/opt/mqm/java/bin/Cleanup出错错误现象:$ Cleanup -m QM_TOPIC nondur5648-C60, 5724-B41, 5655-F10 Copyright IBM Corp. 2002. All Rights Reserved.W

9、ebsphere MQ classes for Java(tm) Message Service 5.300Publish/Subscribe 清除实用程序Exception in thread main java.lang.UnsatisfiedLinkError: no mqjbnd05 in java.library.path解决方法:l 修改环境变量LD_LIBRARY_PATH,将/opt/mqm/java/lib加入LD_LIBRARY_PATH;LD_LIBRARY_PATH=/opt/mqm/java/lib:$LD_LIBRARY_PATHexport LD_LIBRARY_

10、PATH6. 接收消息出错错误现象:/var/mqm/qmgrs/XXX/ errors/ AMQERR01.LOG报如下错误:- amqccita.c : 2732 -08/29/05 21:32:10AMQ9208: Error on receive from host gdipnm6 (211.139.136.111).EXPLANATION:An error occurred receiving data from gdipnm6 (211.139.136.111) over TCP/IP.This may be due to a communications failure.ACTI

11、ON:The return code from the TCP/IP (read) call was 131 (X83). Record thesevalues and tell the systems administrator.解决方法:l 重启队列管理器。7. 完成码=2,原因码=2042错误现象:com.ibm.mq.MQException: MQJE001:完成码 2,原因 2042 at com.ibm.mq.MQQueueManager.accessQueue(MQQueueManager.java:1391) at com.ibm.mq.MQQueueManager.acces

12、sQueue(MQQueueManager.java:1436) at com.eastcom.canicula.mcp.MQMessageClient.connect(MQMessageClient.java:103) at com.eastcom.canicula.mcp.MessageManager.connect(MessageManager.java:49) at ipnet.ssm.scm.QueueListener.run(QueueListener.java:35)解决方法:l 队列管理器的名称不能太长,不能超过9个字符。l 原先队列管理器没有正常关闭,需要重启队列管理器。8.

13、 完成码=2、原因码=2035错误现象:MQCONN: CompCode = 2, Reason Code = 2035!解决方法:l 2035的含义MQRC_NOT_AUTHORIZED,即认证没有通过;是由于mqm组中没有包括运行所用程序的用户引起的。l 解决的方法是在安装MQ的操作系统中,将mqm用户组增加启动这个程序的用户名;典型的mqm组至少包括ipnet,mqm,root三个用户。9. 完成码=2、原因码=2059并且CCSID转换错误错误现象:MQ客户端连接不上MQ服务器,比如用pmdiag测试,出现以下错误MQCONN: CompCode = 2, Reason Code = 2059!并且/var/mqm/error/MQERROR01.LOG的文件提示是CCSID转换错误解决方法:l 修改.profile(unix)或.bash_profile(linux),增加一个环境变量MQCCSID,设置为与相应队列管理器对应的值:MQCCSID=1208export MQCCSID10. MQJE001:发生Exception:完成码:2,原因码:2059,由于LOCAL_ADRESS_PROPERTY限制,拒绝套接字连接尝试错误现象:程序启动和在JMSAdmin中dis tcf或dis qcf时报上述异常解决方法:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号