Websphere mq侦听器可用,但显示未找到错误

时间:2017-11-18 05:24:20

标签: ibm-mq

我们遇到了错误,应用程序无法连接到队列管理器,有原因 代码mqrc 2538,

  1. webspher MQ版本v7.0.1.2。

  2. 操作系统" Solaris"。

  3. 我已通过

    手动启动了侦听器
    runmqlsr -m qmname -t tcp -p port
    
  4. 通过命令检查了侦听器的状态后,

    display lsstatus(listener name)
    
  5. "侦听器可用但是当我尝试显示此侦听器的状态时,它显示未找到MQ对象。"

  6. 我们已经检查了错误日志但没有相关客户端的信息失败我们手动启动了监听器,只有错误日志中提供了监听器信息。

  7. 我们还检查了" / var / mqm / error"我们找到了FDC文件"探测ID:XY132002"我们与sysadmin联系,他们挂载了磁盘空间。 安装/ var / mqm / disc空间后,我们仍面临同样的问题。

  8. 我已经给了#34;启动lstr(lstr name)"在脚本模式下,但我接受请求,当我尝试显示此侦听器的状态时,它显示未找到MQ对象。"

    我检查了qmgr错误日志和fdc错误日志"

    你能否找到写在/var/mqm/errors/AMQERR01.LOG中的以下错误

    说明:1。已经尝试运行brker(SFMSICREQMGR),但是brker已经因为原因而结束了#6; 6119:xecF_E_UNEXPECTED_SYSTEM_RC'。

    错误:AMQ6119:发生了内部WebSphere MQ错误(无法获取内存段:shmget(0x00000000,16384)[rc = 1 errno = 28]设备上没有剩余空间。 ++下面编写队列管理器级别错误的错误:++

    AMQ5008:假定无法找到基本的websphere MQ进程10063(amqfgpub)被终止。

    这些是在队列管理器级错误日志和系统级错误日志中写入的错误:

    1. 我们添加了以下值

      process.max-file-descriptor=(basic,10000,deny)
      project.max-sem-ids=(priv,1024,deny)
      project.max-shm-ids=(priv,1024,deny)
      project.max-shm-memory=(priv,4294967296,deny)
      
    2. 添加此参数后,我们重新启动了队列管理器,

    3. 我们在服务器中有四个队列管理器,三个队列管理器和监听器处于运行状态,第四个队列管理器面临同样的错误。

    4. 我们已经停止了一个队列管理器,我们运行了第四个队列管理器,第四个队列管理器正在运行,侦听器也处于运行状态。

    5. 一个队列管理器不允许启动。我们在这个队列管理器面临同样的错误。

    6. 所有队列管理器和侦听器都运行正常。

    7. 我们创建了本地队列,  队列名称(error_local_queue)。但是当应用程序尝试从此队列获取msg时,他收到错误 Mqrc 2033。

      请帮助解决这个问题

      非常感谢所有问题得到解决。

2 个答案:

答案 0 :(得分:1)

如果使用以下命令启动监听器(根据您的问题): -

runmqlsr -m qmname -t tcp -p port

然后您没有在任何地方为侦听器指定名称(因为此命令没有该功能)。

但它仍将显示在DISPLAY LSSTATUS命令中,并带有系统生成的名称。如果使用以下命令: -

DISPLAY LSSTATUS(*)

将显示所有正在运行的侦听器,您会看到其中一个名称类似于SYSTEM.LISTENER.TCP.1的{​​{1}}。

或者,如果您想为监听器指定一个特定的名称,那么您必须按如下方式定义一个监听器(用您的端口号替换nnnn): -

runmqlsr

然后你可以按如下方式启动它: -

DEFINE LISTENER(TCP.LSTR) TRPTYPE(TCP) CONTROL(QMGR) PORT(nnnn)

并显示其状态如下: -

START LISTENER(TCP.LSTR)

N.B。我使用了名称DISPLAY LSSTATUS(TCP.LSTR) ALL ,但您可以选择任何您想要的名称。

您在问题结尾处提到的错误与听众无关。请为这些问题单独提问。

答案 1 :(得分:0)

MQ v7.0自2015年9月30日起失去支持。

您发现的错误表明队列管理器缺少共享内存,这可能导致整个队列管理器出现问题,包括您的侦听器。可以使用mqconfig脚本找到当前值以及IBM的建议。

MQ v7.0没有附带mqconfig脚本。下载脚本并验证哪些内核设置不正确,下载站点是" How to configure UNIX and Linux systems for IBM MQ"。

您可以在IBM MQ v7知识中心页面" Resource limit configuration"中找到有关设置这些内容的更多信息。

知识中心中的值是具有几个队列管理器的普通服务器的建议值,应被视为最小值。如果你不能运行4个队列管理器,那么我建议你去更高的值。我首先将max-sem-idsmax-shm-ids设置为10240并查看是否解决了这个问题,如果没有,则尝试将{50}添加到max-shm-memory值。