【问题标题】:Troubleshooring AMQP Errors (websphere mq)对 AMQP 错误进行故障排除 (websphere mq)
【发布时间】:2016-02-14 12:46:26
【问题描述】:

有没有办法验证 AMQP 服务是否正常运行。安装在 Linux - RHEL 上。

启动AMQP服务时,命令结果提示已启动,但在后续步骤启动通道时,显示错误“AMQ8494:AMQP命令不可用”,错误信息描述为服务未运行。 (STEP6 中的错误如下所述)。

显示通道状态命令也显示类似错误 (AMQ8494)。


遵循的当前配置步骤和验证步骤

STEP1:设置主实例(以root身份运行)

/opt/mqm/bin/setmqinst -i -p /opt/mqm

作为 MQM 运行以进行以下操作 第 2 步:创建队列管理器

/opt/mqm/bin/crtmqm QMGR_CLAIM

第三步: 更新命令级别

strmqm -e CMDLEVEL=801 QMGR_CLAIM

第四步: 启动队列管理器

/opt/mqm//bin/strmqm QMGR_CLAIM

--验证步骤:如何检查服务是否正在运行 dspmq (显示运行状态)

第五步: 启动 AMQP 服务

echo "START SERVICE(SYSTEM.AMQP.SERVICE)" | runmqsc QMGR_CLAIM

--验证步骤:如何检查服务是否正在运行 有没有办法验证这个实际启动的服务 服务 SYSTEM.AMQP.SERVICE 状态

o/p:

   Starting MQSC for queue manager QMGR_CLAIM.
     1 : START SERVICE(SYSTEM.AMQP.SERVICE)
    AMQ8733: Request to start Service accepted.
    One MQSC command read.
    No commands have a syntax error.
    All valid MQSC commands were processed.

第 6 步: 启动默认频道

echo "START CHANNEL (SYSTEM.DEF.AMQP)" | runmqsc QMGR_CLAIM

O//P:

Starting MQSC for queue manager QMGR_CLAIM.
     1 : START CHANNEL (SYSTEM.DEF.AMQP)
AMQ8494: AMQP commands are not available.
One MQSC command read.
No commands have a syntax error.
One valid MQSC command could not be processed.

--Verification STEPS 
Display default channel
echo "display CHANNEL(SYSTEM.DEF.AMQP) CHLTYPE(AMQP)" | runmqsc QMGR_CLAIM

O/P:
为队列管理器 QMGR_CLAIM 启动 MQSC。

     1 : display CHANNEL(SYSTEM.DEF.AMQP) CHLTYPE(AMQP)
AMQ8414: Display Channel details.
   CHANNEL(SYSTEM.DEF.AMQP)                CHLTYPE(AMQP)
   ALTDATE(2015-11-12)                     ALTTIME(18.38.30)
   CERTLABL( )                             DESCR( )
   AMQPKA(AUTO)                            LOCLADDR( )
   MAXINST(999999999)                      MAXMSGL(4194304)
   MCAUSER( )                              PORT(5672)
   SSLCAUTH(REQUIRED)                      SSLCIPH( )
   SSLPEER( )                              USECLTID(NO)
One MQSC command read.
No commands have a syntax error.
All valid MQSC commands were processed.
Display channel status
echo "dis chstatus(SYSTEM.DEF.AMQP) chltype(AMQP) all" | runmqsc QMGR_CLAIM 
echo "display chstatus(*)" | runmqsc QMGR_CLAIM 
O/P:


 Starting MQSC for queue manager QMGR_CLAIM.


         1 : display chstatus(*)
    AMQ8420: Channel Status not found.
    One MQSC command read.
    No commands have a syntax error.
    One valid MQSC command could not be processed.

第 7 步: 更改默认通道,设置端口5672

echo "ALTER CHANNEL(SYSTEM.DEF.AMQP) CHLTYPE(AMQP) PORT(5672)" | runmqsc QMGR_CLAIM

第 8 步 禁用用户授权渠道

echo "ALTER QMGR CHLAUTH(DISABLED)" | runmqsc QMGR_CLAIM

第 9 步 启动监听器

echo "start LISTENER(SYSTEM.DEFAULT.LISTENER.TCP)" | runmqsc QMGR_CLAIM


 --Verification
    echo "DISPLAY LSSTATUS(*) STATUS" | runmqsc QMGR_CLAIM
    echo "display lsstatus(SYSTEM.DEFAULT.LISTENER.TCP)" | runmqsc QMGR_CLAIM
    ps -ef | grep runmqlsr | grep 1414

【问题讨论】:

  • 请注意,这在 puppet 中是自动化的,错误消息会导致脚本失败并出现误导性错误。寻找确切的过程来验证 step5 和 step6 是否成功运行

标签: ibm-mq amqp


【解决方案1】:

您可以使用 runmqsc 中的 DISPLAY SVSTATUS 命令检查 AMQP 服务的状态。你应该得到类似这样的输出:

DIS SVSTATUS(SYSTEM.AMQP.SERVICE)

3 : DIS SVSTATUS(SYSTEM.AMQP.SERVICE)

AMQ8632: Display service status details.

   SERVICE(SYSTEM.AMQP.SERVICE)            STATUS(RUNNING)

   PID(19254)                              SERVTYPE(SERVER)

   STARTDA(2015-11-11)                     STARTTI(16.04.51)

   CONTROL(QMGR)                           STARTCMD(/opt/mqmAMQP//bin/amqp.sh)

   STARTARG(start -m QM1 -d "/var/mqm/qmgrs/QM1//." -g "/var/mqm//.")
   STOPCMD(/opt/mqmAMQP//bin/amqp.sh)   

   STOPARG(stop -m QM1 -d "/var/mqm/qmgrs/QM1//." -g "/var/mqm//.")
   DESCR(Manages clients that use the AMQP protocol)

   STDOUT(/var/mqm/qmgrs/QM1//amqp.stdout)
   STDERR(/var/mqm/qmgrs/QM1//amqp.stderr)

您可以看到 STATUS 字段被标记为 RUNNING - 因此服务已启动并正常运行,JVM 进程 ID 为 19254。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-26
    • 1970-01-01
    • 1970-01-01
    • 2011-03-10
    • 2020-10-02
    • 2011-02-07
    • 2013-11-20
    相关资源
    最近更新 更多