Ibm mq IBM MQ群集连接问题

Ibm mq IBM MQ群集连接问题,ibm-mq,Ibm Mq,在集群环境中,队列管理器可能会失去与存储库的连接的情况有哪些? 在我的环境中,队列管理器经常会失去与存储库的连接,我需要刷新集群以修复此问题,并重新建立与集群中其他队列管理器的通信 我们的集群有100个队列管理器,其中有2个存储库。有几个不同的问题可能导致这种情况。一个是如果有显式定义的CLUSSDR通道指向非存储库QMgr。这会导致存储库消息到达非repos QMgr,从而导致其amqrrmfa存储库进程死亡。另一个原因是,有一些APAR(如)可能导致该过程消亡。解决方案分别是修复配置问题或应

在集群环境中,队列管理器可能会失去与存储库的连接的情况有哪些? 在我的环境中,队列管理器经常会失去与存储库的连接,我需要刷新集群以修复此问题,并重新建立与集群中其他队列管理器的通信


我们的集群有100个队列管理器,其中有2个存储库。

有几个不同的问题可能导致这种情况。一个是如果有显式定义的
CLUSSDR
通道指向非存储库QMgr。这会导致存储库消息到达非repos QMgr,从而导致其
amqrrmfa
存储库进程死亡。另一个原因是,有一些APAR(如)可能导致该过程消亡。解决方案分别是修复配置问题或应用最新的修复包。另一个不太常见的问题是,发送给新QMgr的消息将在新QMgr解析为本地QMgr之前出错。在这种情况下,
刷新
实际上不会导致远程QMgr解析,它只是为完成解析提供时间

调试这包括隔离可能的原因。检查
amqrrmfa
是否正在运行。检查所有非存储库QMGR是否只有一个明确定义的CLUSSDR通道。验证所有存储库都有一个且只有一个显式定义的CLUSSDR到其他存储库。如果使用重叠簇,请确保不重叠通道。这意味着避免使用像
到.QMGR
这样的频道名称,而更喜欢像
CLUSTER.QMGR
这样的名称。通过确保频道不使用
CLUSNL
属性,而是使用
CLUSTER
属性来验证这一点。最后,通过发出
disclusqmgr(*)
disqcluster(*)
来协调存储库和非存储库中的对象。存储库应该具有相同的对象清单。如果这是错误的,那么问题就来了。非存储库应该为它以前与之交谈过的每个QMgr都有一个条目


我过去看到的一件事是管理员安排了一个
刷新集群
。他的想法是,这是他们需要做的事情来修复集群,所以为什么不定期运行它呢?所以他安排它每天运行。然后,每天晚上它都会让QMgr忘记集群中的其他QMgr,当应用程序第一次解析远程QMgr时,每天都会出现一系列存储库流量。这造成了足够的延迟,每天早上都会出现2087个错误。并不是说你会做这样的事。:-)

“队列管理器经常失去与存储库的连接”通道转到“重试”的确切含义是什么?存储库不再显示在
disclusqmgr
中?集群成员不再显示在存储库
disclusqmgr
?发生这种情况时,WMQ的哪个版本以及错误日志显示了什么?你好,Rob,我没有在问题期间进行此检查。我只是尝试将test msg放入远程q,但由于MQRC 2087错误代码而失败,即使远程服务器上存在队列。集群刷新后,它工作正常。当我再次面对它时,我会做这些检查。我们的存储库位于MQV7中,所有其他服务器位于MQV6中。通道未处于重试状态。您好,Rob,何时需要“群集刷新”?
refresh cluster
是用于修复与存储库不同步的非存储库的命令。该命令使集群成员忘记集群,并从存储库重新加载当前状态。如果运行
disclusq
disclusqmgr
,您可以看到节点“知道”多少集群,并将其与repo进行比较。