无法连接 Websphere MQ 队列管理器
Posted
技术标签:
【中文标题】无法连接 Websphere MQ 队列管理器【英文标题】:Can't connect Websphere MQ Queue Manager 【发布时间】:2013-02-25 17:43:36 【问题描述】:我是 WebSphere MQ 的初学者,我正在研究 MQ 6,它运行良好,但现在我已经安装了 MQ 7.1,当我尝试创建一个新的队列管理器时,我可以做到但它可以' t 连接,它给了我以下错误:
你对此有什么想法吗?谢谢你:)
【问题讨论】:
【参考方案1】:如果使用mqrc
命令安装了 WebSphere MQ 客户端或服务器,您可以查找任何 WebSphere MQ 错误代码。在这种情况下:
C:\Users\MUSR_MQADMIN>mqrc 2059
2059 0x0000080b MQRC_Q_MGR_NOT_AVAILABLE
2059 通常表示侦听器未运行或队列管理器已关闭。如果侦听器正在运行并且 QMgr 名称错误,则会出现不同的错误代码;如果连接到正确的 QMgr 但通道名称错误,则会出现另一个错误代码。如果通道在服务器端通过出口关闭,有时您可以获得 2059,但由于您没有提及任何出口,我假设在这种情况下它的侦听器问题。
希望现在您正在定义一个侦听器对象,而不是使用inetd
或runmqlsr
命令。定义一个对象并将其设置为在 QMgr 控制下启动和停止是最可靠的配置方法。
一旦超过 2059,您应该知道,从 WMQ V7.1 开始,队列管理器默认是安全的,除非您明确授权,否则不会接受任何远程客户端连接.这与 V6 的行为相反,在 V6 中,在新定义的运行侦听器的队列管理器上,任何拥有到它的 TCP 路由的人都可以管理它并以mqm
用户的身份远程执行操作系统代码。所以我预计您遇到的下一个问题将是 2035 错误。
有人告诉我,这意味着 WMQ 管理员需要做更多的工作。唯一正确的情况是 V6 或更早版本的队列管理器被配置为没有安全性。如果将保护 V7.0 QMgr 的任务与在 v7.1 和更高版本的 QMgr 上提供访问权限的任务进行比较,则提供访问权限变得更加容易。但是,如果您喜欢 V7.0 的行为,您可以随时更改 QMgr 以禁用 CHLAUTH
规则。不用说,我们强烈建议您启用安全性。
要调试安全错误,请使用runmqsc
命令ALTER QMGR AUTHOREV(ENABLED)
更改QMgr 以启用授权事件。接下来,下载 SupportPac MS0P 并将其安装到 WebSphere MQ Explorer 中。然后,当您确实遇到安全错误时,使用 WebSphere MQ Explorer 查看队列。右键单击队列并选择解析事件消息的选项。这将极其详细地告诉您调试授权错误所需的所有信息。
最后,如果您想了解新的安全功能,请转至 t-rob.net/links 并查看那里的会议演示文稿。如果向下滚动,也会有一些文章被索引。
【讨论】:
谢谢。我没有安装 MQ 客户端或 MQ 服务器,我在这里只安装了 WebSphere MQ 分发平台:ibm.co/X7SXF6。我应该安装客户端和服务器以使用mqrc
命令吗?
WMQ 资源管理器(您链接到的 SupportPac MS0T)有自己的内置客户端,并不是可再分发的客户端。它没有完整的 WMQ Java 客户端的所有功能。对于它的价值,我已经要求实验室在 Explorer 安装中包含 mqrc。无论如何,很高兴你让它工作了。【参考方案2】:
在屏幕截图中,我看到主机名“127.0.0.1”和端口号 1414。如果它是本地队列管理器,则直接连接到它。
此外,每个队列管理器必须使用唯一的端口号。如果您让它与 WMQ v6 队列管理器一起使用,这是同一个队列管理器吗?如果不是,请确保每个队列管理器使用不同的端口号(即 1415、1416 等...)
【讨论】:
【参考方案3】:我遇到了同样的问题。但我通过以下方式解决了这个问题: 1.手动创建监听器(定义lstr(lstr1) port(xxxx) control(qmgr) 2. setmqaut mcauser('mqm').
【讨论】:
以上是关于无法连接 Websphere MQ 队列管理器的主要内容,如果未能解决你的问题,请参考以下文章