在Linux系统中,消息队列(MQ)作为分布式架构的核心组件,承担着异步通信、系统解耦、流量削峰等关键任务,无论是IBM MQ、RabbitMQ、RocketMQ还是Kafka等主流MQ产品,准确查看其版本信息都是运维和开发中的基础操作,本文将详细介绍不同MQ产品在Linux环境下查看版本的具体方法,包括命令行工具、配置文件查询及API接口调用等场景,并附常见问题解答。

IBM MQ版本查看方法
IBM MQ(原WebSphere MQ)是企业级消息队列产品,其版本信息可通过官方命令行工具或配置文件获取。
使用dspmqver命令(推荐)
dspmqver是IBM MQ提供的专用版本查询命令,需确保MQ已正确安装且环境变量(如PATH)包含/opt/mqm/bin路径,执行以下命令:
dspmqver
示例输出:
Name: IBM MQ Queue Manager
Version: 9.2.0.0
Level: 0920.230521.0000
Build date: 20230521
Build type: FC
Commit: 1234567
输出中Version字段为核心版本号(如9.2.0.0),Level为补丁级别,若提示command not found,需检查安装路径或手动添加:
export PATH=/opt/mqm/bin:$PATH
通过MQ管理界面查看
若启动了IBM MQ Console(默认端口9443),访问https://<server>:9443/ibmmq/console,登录后进入“队列管理器”概览页,版本信息会显示在页面顶部。
查看安装包信息
通过系统包管理工具(如rpm或dpkg)查询已安装的IBM MQ RPM/DEB包:
# CentOS/RHEL rpm -qa | grep mqseries # Ubuntu/Debian dpkg -l | grep ibm-mq
输出示例:mqseries-client-9.2.0.0-1.x86_64,可间接确认版本。
RabbitMQ版本查看方法
RabbitMQ是广泛使用的开源MQ,支持命令行、配置文件及HTTP API三种查询方式。
使用rabbitmqctl命令
rabbitmqctl是RabbitMQ的管理工具,需以rabbitmq用户或root用户执行(建议切换至rabbitmq用户):
sudo -u rabbitmq rabbitmqctl status
示例输出(截取版本部分):
{rabbitmq,"3.11.0"},
{kernel,"6.5.2"},
{erts,"13.2.1"},
...
其中rabbitmq字段后的11.0即为版本号,若仅需版本号,可结合grep过滤:
rabbitmqctl status | grep "rabbitmq," | awk -F'"' '{print $2}'
通过HTTP API查询
RabbitMQ Management插件(默认启用)提供HTTP接口,访问http://<server>:15672/api/versions(需先启用插件rabbitmq-plugins enable rabbitmq_management):
curl -u guest:guest http://localhost:15672/api/versions
示例输出(JSON格式):

{"rabbitmq":"3.11.0","erlang":"25.2.3"}
rabbitmq字段即为版本号。
查看配置文件
RabbitMQ版本信息可能存储在配置文件中,路径为/etc/rabbitmq/rabbitmq.conf或/etc/rabbitmq/rabbitmq-env.conf,搜索version关键字:
grep -i version /etc/rabbitmq/rabbitmq.conf
RocketMQ版本查看方法
RocketMQ是阿里巴巴开源的分布式MQ,版本查询可通过命令行工具或日志文件实现。
使用mqadmin命令
mqadmin是RocketMQ的管理工具,需先设置ROCKETMQ_HOME环境变量并确保bin目录在PATH中,查询Broker版本:
mqadmin brokerStatus -n localhost:9876
示例输出:
brokerVersion: 4.9.3 brokerBootTimestamp: 1690000000000 ...
brokerVersion即为版本号,若查询NameServer版本,可执行:
mqadmin clusterStatus -n localhost:9876
查看启动日志
RocketMQ Broker启动时会输出版本信息,日志路径默认为$ROCKETMQ_HOME/logs/broker.log:
tail -f $ROCKETMQ_HOME/logs/broker.log | grep "RocketMQ Version"
示例输出:
2023-07-20 10:00:00 INFO main - RocketMQ Version:4.9.3, Commit ID:12345678
通过包管理工具查询
若通过RPM/DEB包安装,可使用以下命令:
# CentOS/RHEL rpm -qa | grep rocketmq # Ubuntu/Debian dpkg -l | grep rocketmq
Kafka版本查看方法
Kafka是分布式流处理平台,版本查询可通过命令行工具或Broker API实现。
使用kafka-topics.sh命令
kafka-topics.sh是Kafka的脚本工具,需设置KAFKA_HOME并确保bin目录在PATH中,通过--version参数直接查询:
kafka-topics.sh --version
示例输出:
8.1
通过Broker API查询
Kafka Broker启动时会监听版本信息,使用kafka-broker-api-versions.sh工具:

kafka-broker-api-versions.sh --bootstrap-server localhost:9092
示例输出(截取版本部分):
{
"errorCode": 0,
"error message": null,
"apiVersions": [
{"apiKey": 18, "minVersion": 0, "maxVersion": 9, "supportedVersions": "0-9"},
...
],
"throttleTimeMs": 0
}
若需直接获取版本号,可结合grep和awk解析输出,或访问http://<broker>:8080/versions(需启用JMX HTTP接口)。
查看安装目录
Kafka版本信息可能记录在安装目录的VERSION文件中:
cat $KAFKA_HOME/VERSION
示例输出:
8.1
其他MQ版本查看方法
ActiveMQ
ActiveMQ可通过activemq命令或管理界面查询:
activemq --version
或访问http://<server>:8161/admin/,登录后查看首页底部版本信息。
ZeroMQ
ZeroMQ是轻量级消息库,版本信息可通过libzmq库查询:
pkg-config --modversion libzmq
或直接查看头文件:
grep "#define ZMQ_VERSION" /usr/include/zmq.h
MQ版本查询方法对比表
| MQ类型 | 常用命令/工具 | 关键参数/路径 | 输出示例 | 注意事项 |
|---|---|---|---|---|
| IBM MQ | dspmqver |
无 | Version: 9.2.0.0 | 需确保/opt/mqm/bin在PATH |
| RabbitMQ | rabbitmqctl status |
无 | “rabbitmq”,”3.11.0″ | 需以rabbitmq用户执行 |
| RocketMQ | mqadmin brokerStatus |
-n localhost:9876 |
brokerVersion: 4.9.3 | 需设置ROCKETMQ_HOME |
| Kafka | kafka-topics.sh --version |
无 | 8.1 | 需设置KAFKA_HOME |
| ActiveMQ | activemq --version |
无 | ActiveMQ 5.18.3 | 需启动服务 |
相关问答FAQs
Q1:为什么执行MQ查看版本命令时提示“command not found”?
A:通常因工具未安装或环境变量未配置导致,解决方法:
- 确认MQ已正确安装(如IBM MQ需检查
/opt/mqm目录是否存在); - 添加工具路径至
PATH环境变量,例如IBM MQ执行export PATH=/opt/mqm/bin:$PATH; - 部分MQ(如RabbitMQ)需切换至指定用户(如
sudo -u rabbitmq rabbitmqctl status)。
Q2:如何通过MQ的配置文件查看版本信息?
A:不同MQ的配置文件位置和关键字不同,以下是常见示例:
- RabbitMQ:检查
/etc/rabbitmq/rabbitmq.conf,搜索version; - RocketMQ:查看
$ROCKETMQ_HOME/conf/broker.conf,部分版本可能记录brokerVersion; - Kafka:
$KAFKA_HOME/config/server.properties中无直接版本信息,但可通过$KAFKA_HOME/VERSION文件查询; - IBM MQ:配置文件
/opt/mqm/qmgrs/<qmgr_name>/qm.ini中可能包含Version字段。
若配置文件未记录版本,建议优先使用命令行工具或日志文件查询。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/28682.html