WebSphere MQ 安裝及簡單配置
這里是用安裝包安裝的「MQ_7.5.0.2_TRIAL_LNX_ON_X86_32_ML.tar.gz」, 里面有多個 rpm 包, 在 RHEL, CentOS 和 Ubuntu 中都安裝成功了!
1. 首先解壓
這里解壓到一個新的目錄下
[root@ ~]# mkdir mqserver
[root@ ~]# tar zxvf MQ_7.5.0.2_TRIAL_LNX_ON_X86_32_ML.tar.gz -C mqserver
[root@ ~]# cd mqserver
[root@ mqserver]# ls
copyright MQSeriesMsg_es-7.5.0-2.i386.rpm
crtmqpkg MQSeriesMsg_fr-7.5.0-2.i386.rpm
lap MQSeriesMsg_hu-7.5.0-2.i386.rpm
licenses MQSeriesMsg_it-7.5.0-2.i386.rpm
mqlicense.sh MQSeriesMsg_ja-7.5.0-2.i386.rpm
MQSeriesAMS-7.5.0-2.i386.rpm MQSeriesMsg_ko-7.5.0-2.i386.rpm
MQSeriesClient-7.5.0-2.i386.rpm MQSeriesMsg_pl-7.5.0-2.i386.rpm
MQSeriesExplorer-7.5.0-2.i386.rpm MQSeriesMsg_pt-7.5.0-2.i386.rpm
MQSeriesFTAgent-7.5.0-2.i386.rpm MQSeriesMsg_ru-7.5.0-2.i386.rpm
MQSeriesFTBase-7.5.0-2.i386.rpm MQSeriesMsg_Zh_CN-7.5.0-2.i386.rpm
MQSeriesFTLogger-7.5.0-2.i386.rpm MQSeriesMsg_Zh_TW-7.5.0-2.i386.rpm
MQSeriesFTService-7.5.0-2.i386.rpm MQSeriesRuntime-7.5.0-2.i386.rpm
MQSeriesFTTools-7.5.0-2.i386.rpm MQSeriesSamples-7.5.0-2.i386.rpm
MQSeriesGSKit-7.5.0-2.i386.rpm MQSeriesSDK-7.5.0-2.i386.rpm
MQSeriesJava-7.5.0-2.i386.rpm MQSeriesServer-7.5.0-2.i386.rpm
MQSeriesJRE-7.5.0-2.i386.rpm PreReqs
MQSeriesMan-7.5.0-2.i386.rpm READMEs
MQSeriesMsg_cs-7.5.0-2.i386.rpm repackage
MQSeriesMsg_de-7.5.0-2.i386.rpm
2. 安裝
- 最先安裝證書「mqlicense.sh」, 否則后面的都安裝不了
[root@ mqserver]# ./mqlicense.sh
# 直接輸入數字 1, 然后按回車即可同意.
# 出現下面這句話就算是接受協議了, 后面就可以開始安裝軟件了
...
Agreement accepted: Proceed with install.
...
- 接下來安裝的是 Runtime「MQSeriesRuntime-7.5.0-2.i386.rpm」, 這個也要先安裝
[root@ mqserver]# rpm -ivh MQSeriesRuntime-7.5.0-2.i386.rpm
.# Ubuntu 會提示錯誤, 一般 Ubuntu 安裝的是 deb 包, 這里我們可以強制安裝
.# > 錯誤提示如:
.# > /bin/sh is needed by MQSeriesRuntime-7.5.0-2.i386
.# >
.# Ubuntu 用以下方式安裝 (沒有 rpm 需要聯網安裝下: sudo apt-get install rpm)
[root@ mqserver]# rpm -ivh MQSeriesRuntime-7.5.0-2.i386.rpm --nodeps
- 接下來就是安裝剩下的了, 基本上都安裝了, Msg_看着像有關語言的, 我就沒裝了
rpm -ivh --nodeps XXX.rpm
我只裝了下面這些包, 就可以正常使用了, 需要其他的包后面再裝
mqlicense.sh
MQSeriesRuntime-7.5.0-2.i386.rpm
MQSeriesSamples-7.5.0-2.i386.rpm
MQSeriesSDK-7.5.0-2.i386.rpm
MQSeriesServer-7.5.0-2.i386.rpm
MQSeriesJava-7.5.0-2.i386.rpm
MQSeriesClient-7.5.0-2.i386.rpm
3. 簡單配置
首先, 安裝 mq 會自動創建用戶和用戶組 mqm, 這里我們給 mqm 設置個密碼
[root@ ~]# passwd mqm
# 輸入兩次密碼
Enter new UNIX password: (*不顯示)
Retype new UNIX password: (*不顯示)
passwd: password updated successfully
- 切換到 mqm 用戶, 到 /optmqm/bin 目錄下
[root@ ~]# su - mqm
[root@ ~]# cd /opt/mqm/bin
- 創建缺省隊列管理器
./crtmqm -q QM_NAME
- 啟動隊列管理器
./strmqm QM_NAME
- 進入控制台創建並啟動偵聽器
./runmqsc QM_NAME
def listener(LISTENER.TCP) TRPTYPE(TCP) PORT(1416) CONTROL(QMGR)
start LISTENER(LISTENER.TCP) - 在發送隊列管理器上創建隊列
define qlocal(QM_LOCAL)
結束, 輸入 end 回車即可
4. 可能遇到的問題
-
websphere 創建隊列時錯誤: AMQ7077: You are not authorized to perform the requested operation.
解決: 沒有權限執行, 切換到 mqm 用戶(su - mqm)
-
Suse 創建了 websphere 用戶卻無法登陸.
解決: 查看 /etc/passwd 文件, 發現 mqm 的信息為 mqm❌104:1003::/var/mqm:/bin/false, 於是嘗試修改 shell 為 /bin/bash, 切換用戶成功!
-
Ubuntu 安裝 rpm 包時報錯 /bin/sh is needed by rpm_name.rpm
解決: Ubuntu 要安裝 rpm 包需要強制安裝, 加上參數 --force, --nodeps, 這樣就不會提示錯誤, 但並不一定能裝上, 最好還是安裝 deb 包.
-
Suse 無法切換到 mqm 用戶.
解決: 修改完默認 shell 后仍然不能切換到 mqm 用戶, 需執行 mq 配置 su mqm -c "/opt/mqm/bin/mqconfig", 然后再 su - mqm.
-
安裝 WebSphere MQ 6.0
./mqlicense.sh
證書時報錯 ERROR: No useable java programs at ./lap/IBMJava2-142/jre/bin/java
需要給 java 可執行權限, 可以直接修改權限: chmod 755 ./lap/IBMJava2-142/jre/bin/java -
系統參數驗證:
[root@ ~]# su -mqm -c "opt/mqm/bin/mqconfig"
會列出哪些項目不符合,針對提示做出修改,一般局限在下面兩個文件:
/etc/sysctl.conf
fs.file-max = 524288
kernel.sem=500 256000 250 1024
net.ipv4.tcp_keepalive_time = 300
/etc/security/limit.conf
mqm soft nofile 10240
mqm hard nofile 10240
mqm soft nproc 4096
mqm hard nproc 4096
[References] 星海の風 [MQ7.5安裝](http://blog.163.com/cdma2368@126/blog/static/30174276201442435512703/)