Linux 系统安装OpenMq
不明白的可以根据 “命令–h” 的方式来操作
(一) 下载openMq的安装文件”openmq4_3-instanller-Unix.zip”到/home/zhshp
(二) 解压zip文件
1 Cd /home/zhshp/openmq4_3-instanller-Unix.zip/opt/
2解压
zip Cd /opt/ Unzip openmq4_3-instanller-Unix.zip
(三) 安装
1) 创建answerfile 在/opt/mq_4_3-zip-instanller/创建answerfile例如 : 见/home/zhshp/answerfile
2) 安装
instanller –s –a answerfile
3) 修改imqbroker配置文件:
sudo vim etc/mq/imqbrokerd.conf 中autostart = yes
1. 启动MQ
1) 单台服务器
/opt/mq/bin/imqbrokerd -tty -name myBroker -port 7677 -Dimq.autocreate.queue=false -Dimq.jms.max_threads=512 -vmargs "-Xms3G -Xmx3G" &
2) jms集群
/opt/mq/bin/imqbrokerd -tty -name myBroker -port 7677 -cluster host1:7677,host2:7677,hostN:7677 -Dimq.cluster.masterbroker=hostA:7677 -Dimq.jms.max_threads=4096 -Dimq.system.max_count=-1 -Dimq.message.max_size=-1 -Dimq.autocreate.queue.maxNumBackupConsumers=-1 -vmargs "-Xms3584m -Xmx3584m" &
3)启动不同端口的代理服务
imqbrokerd -port 7677 -name broker02
一个开放的MQ安装可以有多个代理运行在不同的端口与不同的配置
2. 用户管理命令
1)创建用户
imqusermgr add [-i brokerName] -u userName -p password [-g group] 例如imqusermgr add -u customer -p customer -g user
2)更新用户
imqusermgr update [-i brokerName] -u userName -a activeStatus
3)列出用户
imqusermgr list [-i brokerName] [-u userName]
可以查看[message_mq_安装目录]文件夹下D:\Program Files\MessageQueue\var\mq\instances\imqbroker\etc\passwd文件
4)修改权限
直接修改[message_mq_安装目录]文件夹下D:\Program Files\MessageQueue\var\mq\instances\imqbroker\etc\accesscontrol.properties.property文件
5)修改用户密码
imqusermgr update -u admin -p 密码
6)列举
Broker imqcmd list bkr
3. Queue和topic相关操作
1) 创建queue
imq/bin/imqcmd create dst -n queuename-t q -o "maxNumActiveConsumers=5" -u admin
例如: imqcmd create dst -n smsQueue -t q -o "maxNumMsgs=1000" -o "limitBehavior=REMOVE_OLDEST" –o "useDMQ"
创建一个目的地类型的队列,该队列将不会存储超过1000消息,如果生产商试图把更多的消息在队列中它将删除当前最古老的消息开放一些空间对新消息。删除消息将被放置在一个特定的队列命名为死去的消息队列(DMQ)。我们创建的队列,使用这个命令smsQueue命名。
2) 创建
topic imqcmd create dst -n topicname-t t -u admin
3) 清除物理目的地
imqcmd purge dst -n queuename或者topicname -t q或者t -u admin
4) 监视物理目的地的磁盘利用率
imq/bin/imqcmd metrics dst -t q或者t -n queuename或者topicname-m dsk -u admin
Reserved 保留的所有记录使用的磁盘空间以字节为单位其中包括保存活动消息的记录以 及等待再次使用的空闲记录。
Used 已用的 保存活动消息的记录使用的磁盘空间以字节为单位。 Utilization Ratio 利用率已用的磁盘空间除以保留的磁盘空间所得的商。比率越高可用于保存活动消息的磁盘空间就越多。
imq/bin/imqcmd metrics dst -t q或者t -n queuename或者topicname-m dsk -u admin
5) 查看JVM空闲值最大值最小值和当前OpenMQ的运行状态。
./imqcmd metrics bkr -m cxn -b localhost:7676
4. 查看相关链接服务
1) 若要列出代理程式上可用的連線服務請使用以下指令
imqcmd list svc [-b hostName:portNumber]
例如以下指令列出在使用連接埠 6565 的主機 MyServer 上執行的代理程式上的可用服務。
imqcmd list svc -b MyServer:6565
以下指令列出在使用連接埠 7676 的 localhost 上執行的代理程式上的所有服務 imqcmd list svc
2) 列出链接broker的host获取有关连接的信息
sudo mq/bin/imqcmd list cxn -u admin
3) 查看当前service的运行状态默认名称是jms
/opt/mq/bin/imqcmd -u admin -passfile pass -b 127.0.0.1:7677 -t q -n jms query svc
4) 管理长期订阅
长期订阅是指客户端注册为长期项的主题订阅长期订阅有唯一标识它要求代理保留该订阅的消息即使订阅使用方变为非活动状态也是如此。通常情况下代理只能在消息已过期的情况下删除为长期订户保留的消息。
1) 列出长期订阅
imqcmd list dur -d destName
2) 清除长期订阅的所有消息
imqcmd purge dur -n subscrName -c clientID(例如 imqcmd purge dur -n test -c '${u:username}test')
3) 销毁长期订阅
imqcmd destroy dur -n subscrName -c clientID(例如 imqcmd destroy dur -n test -c '${u:username}test')
5) 消息队列管理
1) 查看某个队列有多少链接
/opt/mq/bin/imqcmd -b hostXX:7677 -t q -n huozi(队列名下同) metrics dst
2) 动态查看某队列的信息
/opt/mq/bin/imqcmd -b hostXX:7677 -t q -n huozi metrics dst –int 1 -int 1 : 表示多长时间对数据进行更新
3) 查看整个jms的运行属性
/opt/mq/bin/imqcmd -u admin -b hostXX:7677 query bkr
4) 查看消息队列中的消息
/opt/mq/bin/imqcmd -u admin -b hostXX:7677 list msg -t q -n huozi -nocheck
5) 查看所有队列状态
/opt/mq/bin/imqcmd -u admin -b hostXX:7677 list dst
6) 查看某个队列的的状态
/opt/mq/bin/imqcmd -b hostXX:7677 -t q -n huozi query dst
7) 查询某个消息在某个队列中的状态
/opt/mq/bin/imqcmd -b hostXX:7677 query msg -t q -n huozi -msgID "ID:1625-127.0.0.1 (ef:f5:f4:5c:46:69)-60828-1282050952257" -nocheck
8) 删除某个队列中的消息
/opt/mq/bin/imqcmd -b hostXX:7677 destroy msg -t q -n huozi -msgID "ID:205-127.0.0.1(83:c2:1d:63:77:b1)-44516-1282050052264" -nocheck
9) 查看队列的 ip 连接
/opt/mq/bin/imqcmd -u admin -b hostXX:7677 -n huozi list cxn
10) 查看某个连接
/opt/mq/bin/imqcmd -u admin -b hostXX:7677 -n 4955132286115188480 query cxn
11) 清除消息队列
/opt/mq/bin/imqcmd -b hostXX:7677 -t q -n huozi purge dst
12) 查看队列消息是否已被清除
/opt/mq/bin/imqcmd -b hostXX:7677 -u admin list dst
13) 删除某个连接
/opt/mq/bin/imqcmd -u admin -b hostXX:7677 -n 4955132286115188480 destroy cxn