下載地址:https://www.ibm.com/developerworks/cn/downloads/ws/wmq/ linux
這裏下載開發版vim
環境Centos7.4 x64bash
一、安裝前準備tcp
[root@236 ~]# mkdir mq #新建一個安裝目錄 [root@236 ~]# tar -xzf mqadv_dev75_linux_x86-64.tar.gz -C mq #解壓 [root@236 ~]# ls mq copyright MQSeriesFTAgent-7.5.0-2.x86_64.rpm MQSeriesMan-7.5.0-2.x86_64.rpm MQSeriesMsg_ko-7.5.0-2.x86_64.rpm MQSeriesSDK-7.5.0-2.x86_64.rpm crtmqpkg MQSeriesFTBase-7.5.0-2.x86_64.rpm MQSeriesMsg_cs-7.5.0-2.x86_64.rpm MQSeriesMsg_pl-7.5.0-2.x86_64.rpm MQSeriesServer-7.5.0-2.x86_64.rpm lap MQSeriesFTLogger-7.5.0-2.x86_64.rpm MQSeriesMsg_de-7.5.0-2.x86_64.rpm MQSeriesMsg_pt-7.5.0-2.x86_64.rpm MQSeriesXRClients-7.5.0-2.x86_64.rpm licenses MQSeriesFTService-7.5.0-2.x86_64.rpm MQSeriesMsg_es-7.5.0-2.x86_64.rpm MQSeriesMsg_ru-7.5.0-2.x86_64.rpm MQSeriesXRService-7.5.0-2.x86_64.rpm mqlicense.sh MQSeriesFTTools-7.5.0-2.x86_64.rpm MQSeriesMsg_fr-7.5.0-2.x86_64.rpm MQSeriesMsg_Zh_CN-7.5.0-2.x86_64.rpm PreReqs MQSeriesAMS-7.5.0-2.x86_64.rpm MQSeriesGSKit-7.5.0-2.x86_64.rpm MQSeriesMsg_hu-7.5.0-2.x86_64.rpm MQSeriesMsg_Zh_TW-7.5.0-2.x86_64.rpm READMEs MQSeriesClient-7.5.0-2.x86_64.rpm MQSeriesJava-7.5.0-2.x86_64.rpm MQSeriesMsg_it-7.5.0-2.x86_64.rpm MQSeriesRuntime-7.5.0-2.x86_64.rpm repackage MQSeriesExplorer-7.5.0-2.x86_64.rpm MQSeriesJRE-7.5.0-2.x86_64.rpm MQSeriesMsg_ja-7.5.0-2.x86_64.rpm MQSeriesSamples-7.5.0-2.x86_64.rpm
運行許可,選擇1贊成ide
./mqlicense.sh
安裝MQ Server測試
[root@236 mq]# rpm -ivh MQSeriesRuntime-7.5.0-2.x86_64.rpm #安裝MQ Runtime Preparing... ################################# [100%] Creating group mqm Creating user mqm Updating / installing... 1:MQSeriesRuntime-7.5.0-2 ################################# [100%] [root@236 mq]# rpm -ivh MQSeriesSamples-7.5.0-2.x86_64.rpm ##安裝MQ Samples Preparing... ################################# [100%] Updating / installing... 1:MQSeriesSamples-7.5.0-2 ################################# [100%] [root@236 mq]# rpm -ivh MQSeriesServer-7.5.0-2.x86_64.rpm #安裝MQ server Preparing... ################################# [100%] Updating / installing... 1:MQSeriesServer-7.5.0-2 ################################# [100%] After the installation has completed, run the '/opt/mqm/bin/mqconfig' command, using the 'mqm' user ID. For example, execute the following statement when running as the 'root' user: su mqm -c "/opt/mqm/bin/mqconfig" The 'mqconfig' command validates that the system configuration satisfies the requirements for WebSphere MQ, and ensures that the settings for the 'mqm' user ID are suitably configured. Other WebSphere MQ administrators in the 'mqm' group can run this command to ensure their user limits are also properly configured to use WebSphere MQ. If 'mqconfig' indicates that any of the requirements have not been met, consult the installation section within the WebSphere MQ Information Center for details about how to configure the system and user limits.
而後根據提示,執行命令去檢查環境是否容許
ui
第一次檢查,提示缺乏bcthis
[root@236 mq]# su mqm -c "/opt/mqm/bin/mqconfig" mqconfig: Analyzing CentOS Linux release 7.4.1708 (Core) settings for WebSphere MQ V7.5 mqconfig: The bc program was not found on this system. Please install bc and try running mqconfig again.
安裝bccode
[root@236 mq]# yum install -y bc
第二次檢查orm
有幾個fail的須要解決,參考文檔:https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_9.0.0/com.ibm.mq.ins.doc/q008550_.htm
修改內核參數
編輯/sysctl.conf ,添加下列配置
[root@236 mq]# vim /etc/sysctl.conf
kernel.sem = 500 256000 250 1024
net.ipv4.tcp_keepalive_time = 300
fs.file-max = 524288
寫入配置
[root@236 mq]# sysctl -p
第三次檢查
還剩2個文件相關的須要解決
編輯limit.conf
[root@236 mq]# vim /etc/security/limits.conf
添加兩行
mqm hard nofile 10240 mqm soft nofile 10240
第四次檢查經過
修改環境變量
因爲mq默認安裝在/opt/mqm目錄,因此安裝完成後會找不到mq相關命令,須要配置環境變量才能找到
vim /etc/profile #添加下面一行
PATH=/opt/mqm/bin:/opt/mqm/samp/bin/:$PATH
安裝完成
二、啓動實例
切換到mqm用戶啓動
[root@236 mq]# su mqm bash-4.2$
建立默認實例
bash-4.2$ crtmqm -q oe WebSphere MQ queue manager created. Directory '/var/mqm/qmgrs/oe' 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.
查看實例,這裏狀態是ended的
bash-4.2$ dspmq QMNAME(oe) STATUS(Ended immediately)
啓動實例
bash-4.2$ strmqm oe WebSphere MQ queue manager 'oe' starting. The queue manager is associated with installation 'Installation1'. 5 log records accessed on queue manager 'oe' during the log replay phase. Log replay for queue manager 'oe' complete. Transaction manager state recovered for queue manager 'oe'. WebSphere MQ queue manager 'oe' started using V7.5.0.2.
建立隊列一個名爲test的隊列
bash-4.2$ runmqsc oe #進入隊列 5724-H72 (C) Copyright IBM Corp. 1994, 2011. ALL RIGHTS RESERVED. Starting MQSC for queue manager oe. define qlocal(test) #定義隊列test 1 : define qlocal(test) AMQ8006: WebSphere MQ queue created. end 2 : end #退出 One MQSC command read. No commands have a syntax error. All valid MQSC commands were processed.
發送消息測試,報錯2085
bash-4.2$ amqsput Test oe Sample AMQSPUT0 start target queue is Test MQOPEN ended with reason code 2085 unable to open queue for output Sample AMQSPUT0 end
後來查找問題發現這個隊列不能爲小寫的,test隊列被轉換成大寫的了,建議隊列名設置爲大寫的,從新發送消息測試,連續敲兩下回車表示輸入完成
bash-4.2$ amqsput TEST oe Sample AMQSPUT0 start target queue is TEST hello world! Sample AMQSPUT0 end
接收消息,接受成功
bash-4.2$ amqsget TEST oe Sample AMQSGET0 start message <hello world!>
啓動端口監聽
bash-4.2$ runmqlsr -t tcp -p 2424 -m oe & [1] 5067 bash-4.2$ 5724-H72 (C) Copyright IBM Corp. 1994, 2011. ALL RIGHTS RESERVED.
啓動成功
bash-4.2$ netstat -tpln | grep 2424 (Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.) tcp6 0 0 :::2424 :::* LISTEN 5067/runmqlsr