WebSphere MQ 安装及简单配置
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/)