文章目录
- 消息队列IBM MQ 7.5开发版安装配置详解
- 前言
- 一、什么是IBM MQ?
- 二、安装前准备
- 1、安装前准备
- 2、安装MQ Server
- 3、启动实例
- 4、创建队列一个名为TEXT的队列(测试)
- 5、启动端口监听
- 6、启动成功
- 总结
前言
IBM 已经熟练地优化了 MQ(消息队列),在市场上已有超过 25 年的历史。借助 MQ(消息队列),如果无法立即传递消息,那么会在其等待队列中确保消息安全,直到保证传递为止。竞争产品可能会传递两次消息或根本不传递消息,而 MQ (消息队列)只会移动一次数据,包括文件数据。有了 MQ(消息队列),就永远不会丢失任何消息(来自百度百科)。
提示:以下是本篇文章正文内容,下面案例可供参考
一、什么是IBM MQ?IBM® MQ 是一款企业级消息传递解决方案,能够安全、可靠地连接多个平台的应用、系统、服务及文件。MQ 能够通过队列系统,在这些作业点之间传输数据,确保在网络或应用出现故障时,实现稳定交付。都是废话其实就是消息队列组件(跟ActiveMQ、RabbitMQ类似)
二、安装前准备下载地址:IBM MQ安装包下载地址
1、安装前准备[root@localhost MQServer]# mkdir mq #新建一个安装目录 [root@localhostMQServer]# tar -xzf WS_MQ_LNX_ON_X86_64_V7.1.0.7_EIMA.tar.gz -C mq #解压 [root@localhost MQServer]# ls mq
效果截图:
点击启动文件
./mqlicense.sh
运行许可,选择1同意
2、安装MQ Server2.1 切换用户: su - root # 用户执行
2.2 需要安装的组件(我们项目中用到的,可根据实际需求安装)
rpm -ivh MQSeriesRuntime-7.1.0-7.x86_64.rpm rpm -ivh MQSeriesSDK-7.1.0-7.x86_64.rpm rpm -ivh MQSeriesJava-7.1.0-7.x86_64.rpm rpm -ivh MQSeriesClient-7.1.0-7.x86_64.rpm rpm -ivh MQSeriesSamples-7.1.0-7.x86_64.rpm rpm -ivh MQSeriesServer-7.1.0-7.x86_64.rpm
效果截图:
2.3 然后根据提示,执行命令去检查环境是否允许
2.3.1、第一次检查,提示缺少bc
[root@localhost MQServer]# su mqm -c "/opt/mqm/bin/mqconfig"
mqconfig: Analyzing CentOS Linux release 8.3 (Core) settings for
WebSphere MQ V7.1
mqconfig: The bc program was not found on this system. Please install bc
and try running mqconfig again.
效果截图:
安装bc
[root@localhost MQServer]# yum install -y bc
2.3.2 、第二次检查
[root@localhost MQServer]# su mqm -c "/opt/mqm/bin/mqconfig"
效果截图:
修改内核参数
编辑/sysctl.conf ,添加下列配置
[root@localhost MQServer]# vim /etc/sysctl.conf kernel.sem = 500 256000 250 1024 net.ipv4.tcp_keepalive_time = 300 fs.file-max = 524288
写入配置
[root@localhost MQServer]# sysctl -p
2.3.3、第三次检查
[root@localhost MQServer]# su mqm -c "/opt/mqm/bin/mqconfig"
还剩2个文件相关的需要解决
编辑 limit.conf
[root@localhost MQServer]# vim /etc/security/limits.conf 添加两行 mqm hard nofile 10240 mqm soft nofile 10240
2.3.4、第四次检查通过
[root@localhost MQServer]# su mqm -c "/opt/mqm/bin/mqconfig"
修改环境变量
由于mq默认安装在/opt/mqm目录,所以安装完成后会找不到mq相关命令,需要配置环境变量才能找到
vim /etc/profile #添加下面一行 PATH=/opt/mqm/bin:/opt/mqm/samp/bin/:$PATH 安装完成3、启动实例
3.1切换到mqm用户启动
[root@localhost ~]# su - mqm bash-4.2$
3.2创建默认实例
bash-4.2$ crtmqm -q 实例名(自定义) 这里是(QMEMBFE2) WebSphere MQ queue manager created. Directory '/var/mqm/qmgrs/QMEMBFE2' created. The queue manager is associated with installation 'Installation1'. Creating or replacing default objects for queue manager 'oe'. Default objects statistics : 74 created. 0 replaced. 0 failed. Completing setup. Setup completed.
3.3查看实例,这里状态是ended的
bash-4.2$ dspmq
3.4启动实例
bash-4.2$ strmqm QMEMBFE2
在次查看状态
bash-4.2$ dspmq4、创建队列一个名为TEXT的队列(测试)
1、创建队列 QMEMBFE2
1、bash-4.2$ runmqsc QMEMBFE2 #进入队列
define qlocal(TEXT) #定义队列test
1 : define qlocal(TEXT)
AMQ8006: WebSphere MQ queue created.
end
2 : end #退出
One MQSC command read.
No commands have a syntax error.
All valid MQSC commands were processed.
2、发送消息测试
执行 bash-4.2$ amqsput TEST QMEMBFE2
Sample AMQSPUT0 start
target queue is TEST
hello world!
Sample AMQSPUT0 end
3、接收消息,接受成功
执行 bash-4.2$ amqsget TEST QMEMBFE2
Sample AMQSGET0 start
message
注意 :队列名不能为小写,不然报错2085!!!!!!!!!
情况如下:
解决方案:
重新发送消息测试,连续敲两下回车表示输入完成
执行 bash-4.2$ amqsput TEST QMEMBFE2
Sample AMQSPUT0 start
target queue is TEST
hello world!
Sample AMQSPUT0 end
执行 bash-4.2$ runmqlsr -t tcp -p 2424 -m QMEMBFE2 &6、启动成功
执行 bash-4.2$ netstat -tpln | grep 2424
总结
强大的保护功能:
MQ(消息队列)的传输层安全性 (TLS) 可保护线上的消息,而内置的访问控制则可在目标队列上保护这些消息。要实现更高的端到端加密水平,请试用 IBM MQ(消息队列)Advanced(来自官网)。
保护:
设计成就安全 - 内置高可用性和灾难恢复能力 - MQ(消息队列)可通过细粒度认证和强大的数据加密技术来保护静态数据、动态数据和内存中的数据(来自官网)。



