mq查看队列管理器信息linux,IBM WebSphere MQ for linux 安装详解 | MUCHINFO

前言

首先介绍一下MQ

MQ消息队列的简称是一种应用程序对应用程序的通信方法。说白了也就是通过队列的方式来对应用程序进行数据通信。而无需专用链接来链接它们。

MQ的通讯方式

1.数据报的方式 Datagram (Send and forget)

应用程序在创建完消息后。利用MQ的API将消息发送到队列中。它充分利用了MQ(once and once only )

2.请求和应答方式 Request/Reply

发送消息之后需等待对方处理结果。  需考虑如下问题:

a.等待应答的时间是多少?

b.如果没有应答怎么办。

c.本次session是否需要保留?

MQ的开发流程

1.让应用程序与队列管理器链接,通过MQconnect调用来进行此链接。

2.使用MQOpen调用为输出打开一个队列

3.应用程序使用MQPut调用将其数据放到队列上。

4.调用MQOpen调用打开输入队列

5.使用MQGet从队列上接收数据

MQ安装组件(linux)

- Runtime(MQSeriesRuntime),运行时环境,必须安装(客户端和服务器端都需要)

- Server(MQSeriesServer),运行队列管理器和提供消息队列服务,服务器端需要

- Client(MQSeriesClient),MQ的很小的功能子集,连接Server组件,不提供队列管理器

- SDK(MQSeriesSDK),开发需要,用来编译应用程序

- Sample programs,示例程序

- Java messaging(MQSeriesJava),支持Java消息服务功能(JMS)

- Man pages,帮助文档,提供control命令,MQI命令,MQSC命令帮助

- Java JRE,必须,Java运行时,支持MQ部分Java编写的功能

- Message Catalogs,支持的语言

- Global Security Kit,支持加密安全认证功能,必须先安装JRE

- Telemetry Service(MQSeriesXRService),遥感通信MQTT协议,支持传感器等设备连接通信

- MQ Explorer,管理监控MQ

- Managed File Transfer,文件传输

- Advanced Message Security,更高级的安全保护,必须安装JRE和Security Kit

- AMQP Service,提供AMQP通道,支持MQ Light APIs

0a278a10b2996185c70a188a0b146d77.png

1.下载mq软件包并且创建相关用户组

可在IMB官网搜索并且下载对应的版本

组:mqm 600   用户:mqm 600

安装 rpm 包时,系统会自动以此用户的名义安装,-d参数-为指定家目录。

用户ID和组ID最好指定,因为在双机安装过程中,需要保持主备机mqm用户和组的ID号一致。

Python

#groupadd -g 600 mqm

#useradd -u 600 -d /var/mqm -g mqm mqm

1

2

3

#groupadd -g 600 mqm

#useradd -u 600 -d /var/mqm -g mqm  mqm

2.安装介质准备

将 MQ 安装包上传到 /soft 目录里并解压

Python

#tar -zxvf WSMQ_8.0_IFR_TRIAL_LNX_ON_X86_64_.tar.gz

1

#tar -zxvf WSMQ_8.0_IFR_TRIAL_LNX_ON_X86_64_.tar.gz

解压出的安装目录里面,有许多rpm包以及License文件

3.运行MQ许可认证程序

Python

#./mqlicense.sh

1

#./mqlicense.sh

在图形界面客户端上,MQ 会显示一个许可证窗口,选择同意即可。

在文本界面客户端上,MQ 会询问用什么语言显示许可证,按“2”是英语。显示许可证后,再按“1”同意许可证。或者追加-text_only

Python

#./mqlicense.sh -text_only

1

#./mqlicense.sh -text_only

4.安装软件包

MQ安装软件包可有选择性的进行最小化安装,也可将所有组件全部进行安装。

1)进入到MQ安装介质的解压目录

Python

#rpm -ivh *.rpm

1

#rpm -ivh *.rpm

以上语句,即可将所有rpm包打上

如果仅仅是作为服务器使用,可只安装下面的三个包就足够了。其它的MQ组件可以按需求安装

Python

#rpm -ivh MQSeriesRuntime-7.1.0-3.x86_64.rpm

#rpm -ivh MQSeriesSDK-7.1.0-3.x86_64.rpm

#rpm -ivh MQSeriesServer-7.1.0-3.x86_64.rpm

1

2

3

4

5

#rpm -ivh MQSeriesRuntime-7.1.0-3.x86_64.rpm

#rpm -ivh MQSeriesSDK-7.1.0-3.x86_64.rpm

#rpm -ivh MQSeriesServer-7.1.0-3.x86_64.rpm

rpm -ivh MQSeriesServer-7.1.0-3.x86_64.rpm安装之后出现提示要验证系统配置是否符合要求。

根据提示我们可输入并且确认。

Python

su -c mqm "/opt/mqm/bin/mqconfig"

1

su-cmqm"/opt/mqm/bin/mqconfig"

2)为稳妥起见,可将所有标为“FAIL”的检测项调整到“PASS”;例如,我们可以修改 /etc/sysctl.conf文件,添加或修改其中的一些值:

Python

kernel.sem = 500256000 250 1024

fs.file-max = 524288

net.ipv4.tcp_keepalive_time= 300

1

2

3

4

5

kernel.sem=5002560002501024

fs.file-max=524288

net.ipv4.tcp_keepalive_time=300

要立即使这些 sysctl 值生效,输入命令 sysctl–p 即可。

然后打开/etc/security/limits.conf文件,添加或修改如下配置,设置mqm用户的最大文件打开数限制:

Python

mqm hard nofile 10240

mqm soft nofile 1024

1

2

3

mqmhardnofile10240

mqmsoftnofile1024

3)修改完毕之后,重新运行su mqm -c "/opt/mqm/bin/mqconfig"确认我们的修改已经生效,然后就可以进行下一步

安装完成之后,系统会自动生成两个目录

/opt/mqm目录是用来存放MQ的软件安装文件

/var/mqm目录是用来存放MQ的数据文件

2)添加PATH路径

为mqm用户添加执行mq命令的PATH路径,编辑mqm用户的profile文件,将以下语句加入

Python

export PATH=$PATH:/opt/mqm/bin

1

exportPATH=$PATH:/opt/mqm/bin

5.为用户授予MQ权限

创建一个普通用户,若需要赋予它mq权限,只需将用户加入到mqm组即可,已知用户可用usermod命令

权限要求:普通用户必须属于mqm组,才有权限运行相关管理命令.

Python

#useradd -g mqm pmts

1

#useradd -g mqm pmts

并且将mqm的PATH路径加入到新建用户的profile文件

6.测试队列管理器和队列

1)切换至 /opt/mqm/samp/bin 目录,这是样本程序的目录。

2)使用下列命令将消息放入队列:

Python

./amqsput NEAREAST.QUEUE

1

./amqsputNEAREAST.QUEUE

显示下列消息:

样本 AMQSPUT0 启动

目标队列是NEAREADT.QUEUE

3)输入一些文本消息,可以敲回车输入换行,连敲两次回车则发送该消息(或按ctrl+d输入结束符),然后提示:

样本 AMQSPUT0 结束

现在消息已经放入了队列中,并且操作回到命令提示符。

4)要从队列取出消息,请使用下列命令:

Python

./amqsget NEAREAST.QUEUE

1

./amqsgetNEAREAST.QUEUE

样本程序启动并显示刚才发送的消息。暂停之后,样本结束并回到命令提示符。

如果上述步骤都顺利完成,则说明MQ的服务安装成功了。

7.MQ的常用操作

1)创建队列管理器QM,并设置队列管理器的日志空间大小为16384,主日志数量为20,次日志数量为2

Python

$crtmqm -lf 16384 -lp 20 -ls2 QM

1

$crtmqm-lf16384-lp20-ls2QM

2)启动队列管理器

Python

$strmqm QM

1

$strmqmQM

3)停止队列管理器

-i参数指定立即停止,-p参数指定强制停止,一般我们使用立即停止

Python

$endmqm -I QM

1

$endmqm-IQM

4)进入队列管理器

Python

$runmqsc QM

1

$runmqscQM

5)查看队列管理器QM的通道状态

Python

$runmqsc QM

dis chs(*)

1

2

3

$runmqscQM

dischs(*)

6)设置队列管理器CCSID

CCSID即队列管理器使用的字符编码

819 指ISO 8859-1

1208指utf-8编码

1306指gbk编码

Python

alter qmgr ccsid(1306)

1

alterqmgrccsid(1306)

7)常用队列管理命令:

注:前提是首先运行runmqsc启动MQSC。

显示特定队列如Q1的信息:

dis q(Q1)

显示队列管理器中的所有队列的信息:

dis q(*)

删除队列Q1

delete qlocal(Q1)

禁用特定队列如Q1上的put操作:

alter ql(Q1) put(disabled)

将队列管理器的死信队列更改为 SYSTEM.DEAD.LETTER.QUEUE

alter qmgr deadq(SYSTEM.DEAD.LETTER.QUEUE)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值