vbox构建多台linux虚拟机互相访问+IBMMQ互通测试

宿主机版本:win10 64位 

linux虚拟机版本:rethat 7.3 

mq版本:7.5 

VirtualBox版本: 6.1.22 r144080 (Qt5.6.2)

1、安装linux虚拟机

首先安装VirtualBox,根据提示默认安装即可,然后安装红帽系统

安装完成如下图所示,rethat_6为32位linux版本(自己测试用,跟本博文无关),rethat_7.3_A、rethat_7.3_B为64位linux版本:

 A、B两台虚拟机根据提示安装即可,这里拿安装rethat_7.3_C为例

新建虚拟机

 软件安装选择GUI时为带界面安装:

 等待安装完成:

2、配置linux虚拟机静态IP并实现多机互ping且能访问外网

管理-》主机网络管理-》创建 启用第二块网卡,默认配置,记住网络掩码,这里是192.168.253.1/24

配置两块网卡,网卡1选择NET,网卡2选择host-only

 修改网卡配置,给网卡2设置固定IP,设置后重启网卡服务service network restart

参考资料:https://www.cnblogs.com/telunike/p/10850969.html

3、安装IBMMQ

安装的MQ软件包为WS_MQ_FOR_LNX_ON_X86_64_V7.5_EIMG.tar.gz

将WS_MQ_FOR_LNX_ON_X86_64_V7.5_EIMG.tar.gz解压至某一目录。

(1)执行接受许可脚本: ./mqlicense.sh –accept 这个脚本是要安装WebSphere MQ 软件包的MQ许可程序. 至关重要,这个脚本没有正确配置的话将导致MQ安装失败.–accept是不启动图形直接接受许可

(2) 安装WebSphere MQ for Linux 服务器

[root@localhostmq]# rpm-ivh MQSeriesRuntime-7.5.0-0.i386.rpm

[root@localhostmq]# rpm-ivh MQSeriesSDK-7.5.0-0.i386.rpm

[root@localhostmq]# rpm-ivh MQSeriesServer-7.5.0-0.i386.rpm

注:安装完成后,相关文件会被自动安装在/opt/mqm下,在安装MQSeriesRuntime-7.5.0-0.i386.rpm时候,安装程序为系统自动创建了一个mqm用户和mqm组,安装完毕后,需要使用该用户来进行MQ的配置。

(3) 安装WebSphere MQ for Linux 客户端:

[root@localhostmq]# rpm-ivh MQSeriesClient-7.5.0-0.i386.rpm

(4) 安装WebSphere MQ 样本程序(其中包括amqsput、amqsget、amqsgbr和amqsbcg等)

[root@localhostmq]# rpm-ivh MQSeriesSamples-7.5.0-0.i386.rpm

样本程序安装在/opt/mqm/samp/bin 中。

(5)安装MQ其他软件包

[root@localhostmq]# rpm-ivh MQSeriesMan-7.5.0-0.i386.rpm

[root@localhostmq]# rpm-ivh MQSeriesJava-7.5.0-0.i386.rpm

[root@localhostmq]# rpm-ivh IBMJava2-SDK-1.4.2-0.0.i386.rpm

上面最后一步安装的是JDK运行环境,如果已经有相同或更高版本的JDK,不需要再安装。

(6) 安装过程创建了一个名为mqm的用户和一个同样名为mqm的组此时,新用户是被锁定的,必须设置一个密码来解锁,这样才能正常使用该用户。用passwd命令:[root@localhostmq]# passwd mqm

以上操作均在root用户下操作,至此MQ7.5安装结束。MQ配置相关命令操作均在mqm用户下

4、创建MQ队列及互通测试

发送方为主机A(192.168.253.11),接收方为主机B(192.168.253.12)

发送方:
队列管理器(QM_A)
    本地队列(QL_A) 远程队列(QR_B) 本地传输队列(QT_B) 发送通道(CHL_A_TO_B) 接收通道(CHL_B_TO_A)
1) 创建队列管理器(QM_A): crtmqm -q QM_A
                          strmqm QM_A
						  runmqsc QM_A
2) 创建本地队列(QL_A): define qlocal (QL_A)
3) 创建远程队列(QR_B): define qremote(QR_B) rname(QL_B) rqmname(QM_B) xmitq(QT_B)
4) 创建本地传输队列(QT_B): define qlocal (QT_B) usage (xmitq) defpsist(yes)
5) 创建发送通道(CHL_A_TO_B): define channel (CHL_A_TO_B) chltype (sdr) conname ('192.168.253.12(1416)') xmitq (QT_B) trptype (tcp)
6) 创建接收通道(CHL_B_TO_A): define channel (CHL_B_TO_A) chltype (rcvr) trptype(tcp)
7) 启动发送通道:start channel (CHL_A_TO_B)
8) 设置监听:define listener(QM_A.LISTEN) trptype(tcp) CONTROL(QMGR) port(1415)
    启动监听:start listener(QM_A.LISTEN)
    如果用的是默认监听,启动命令:start listener(system.default.listener.tcp)
	默认端口为1414,如果被占用,则执行命令:alter listener(system.default.listener.tcp) trptype(tcp) port(1415)


接收方:
队列管理器(QM_B)
    本地队列(QL_B) 远程队列(QR_A) 本地传输队列(QT_A) 发送通道(CHL_B_TO_A) 接收通道(CHL_A_TO_B)
1) 创建队列管理器(QM_B): crtmqm -q QM_B
                          strmqm QM_B
						  runmqsc QM_B
2) 创建本地队列(QL_B): define qlocal (QL_B)
3) 创建远程队列(QR_A): define qremote(QR_A) rname(QL_A) rqmname(QM_A) xmitq(QT_A)
4) 创建本地传输队列(QT_A): define qlocal (QT_A) usage (xmitq) defpsist(yes)
5) 创建发送通道(CHL_B_TO_A): define channel (CHL_B_TO_A) chltype (sdr) conname ('192.168.253.11(1415)') xmitq (QT_A) trptype (tcp)
6) 创建接收通道(CHL_A_TO_B): define channel (CHL_A_TO_B) chltype (rcvr) trptype(tcp)
7) 启动发送通道:start channel (CHL_B_TO_A)
8) 设置监听:define listener(QM_B.LISTEN) trptype(tcp) CONTROL(QMGR) port(1416)
    启动监听:start listener(QM_B.LISTEN)
    如果用的是默认监听,启动命令:start listener(system.default.listener.tcp)
	默认端口为1414,如果被占用,则执行命令:alter listener(system.default.listener.tcp) trptype(tcp) port(1416)

结果图示:

A->B

 B->A

示意图:​​​​​​​

 谢谢!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值