IBM MQ
IBM MQ 的启动分为两部分:启动队列管理器(Queue Manager)和启动监听器(Listener)。

启动队列管理器
队列管理器是 IBM MQ 的核心。
Windows 系统 (使用 runmqsc 命令):
-
打开命令提示符(CMD)或 PowerShell。
-
运行以下命令,将
QM_NAME替换为你的队列管理器名称(QM_QMGR)。
(图片来源网络,侵删)strmqm QM_NAME
strmqm QM_QMGR
-
启动后,可以使用
dspmq命令查看所有队列管理器的状态。dspmq
输出示例:
AMQ8410: Queue manager 'QM_QMGR' is running.
Linux/Unix 系统:
命令与 Windows 类似,通常在命令行中直接执行。

strmqm QM_NAME
启动监听器
监听器负责接收来自客户端的连接请求,队列管理器启动后,监听器通常不会自动启动。
使用 runmqsc 命令行工具启动:
- 进入
runmqsc交互模式。runmqsc QM_NAME
- 在
runmqsc提示符下,使用START LISTENER命令。START LISTENER('LISTENER_NAME')LISTENER_NAME是你在定义监听器时指定的名字,默认通常是LISTENER或SYSTEM.DEF.LISTENER。 - 退出
runmqsc。exit
RabbitMQ
RabbitMQ 是一个基于 Erlang 语言的开源消息代理,它的启动通常通过其内置的 rabbitmq-server 脚本完成。
启动 RabbitMQ 服务器
Windows 系统 (使用服务):
推荐将 RabbitMQ 作为 Windows 服务安装和运行,这样它会在系统启动时自动启动,更稳定。
- 打开 PowerShell(以管理员身份运行)。
- 安装服务(如果尚未安装):
& "C:\Program Files\RabbitMQ Server\rabbitmq_server-3.x.x\sbin\rabbitmq-service.bat" install
- 启动服务:
& "C:\Program Files\RabbitMQ Server\rabbitmq-server-3.x.x\sbin\rabbitmq-service.bat" start
Linux/Unix 系统:
RabbitMQ 通常作为系统服务(如 systemd 或 supervisord)来管理。
使用 systemd (CentOS 7+, Ubuntu 16+, Debian 9+ 等):
# 启动 RabbitMQ 服务 sudo systemctl start rabbitmq-server # 停止服务 sudo systemctl stop rabbitmq-server # 查看服务状态 sudo systemctl status rabbitmq-server # 设置开机自启 sudo systemctl enable rabbitmq-server
直接使用脚本 (不推荐用于生产环境):
# 进入 RabbitMQ 的 sbin 目录 cd /usr/lib/rabbitmq/bin/ # 启动服务器 ./rabbitmq-server start
Apache Kafka
Kafka 是一个分布式流处理平台,其架构包含多个组件(ZooKeeper, Broker),启动过程比前两者复杂一些。
前提条件
Kafka 依赖 ZooKeeper 来管理集群元数据,你需要先启动 ZooKeeper。
启动 ZooKeeper
在 Kafka 的 bin 目录下,执行:
# Windows .\zookeeper-server-start.bat ..\config\zookeeper.properties # Linux/Unix ./zookeeper-server-start.sh ../config/zookeeper.properties
启动 Kafka Broker
在另一个终端窗口,同样在 Kafka 的 bin 目录下,执行:
# Windows .\kafka-server-start.bat ..\config\server.properties # Linux/Unix ./kafka-server-start.sh ../config/server.properties
生产环境建议:
在生产环境中,Kafka 和 ZooKeeper 通常作为 systemd 服务运行,或者使用 kafka-server-start.sh 的 daemon 选项在后台运行。
# 后台启动 Kafka Broker ./kafka-server-start.sh -daemon ../config/server.properties
RocketMQ
RocketMQ 是阿里巴巴开源的分布式消息中间件。
启动 NameServer
NameServer 是 RocketMQ 的核心,负责路由注册和发现。
# 进入 RocketMQ 的 bin 目录 cd /path/to/rocketmq-all-4.x.x-bin/bin # 启动 NameServer nohup sh mqnamesrv > /dev/null 2>&1 &
启动 Broker
Broker 负责存储和投递消息。
# 启动 Broker nohup sh mqbroker -n localhost:9876 > /dev/null 2>&1 &
-n localhost:9876 指定了 NameServer 的地址。
总结与如何确认启动
| MQ 产品 | 关键启动命令 | 主要组件 |
|---|---|---|
| IBM MQ | strmqm QM_NAME runmqsc QM_NAME -> START LISTENER |
队列管理器, 监听器 |
| RabbitMQ | systemctl start rabbitmq-server rabbitmq-server start |
服务器 |
| Apache Kafka | zookeeper-server-start.sh kafka-server-start.sh |
ZooKeeper, Broker |
| RocketMQ | sh mqnamesrv sh mqbroker |
NameServer, Broker |
如何确认 MQ 是否启动成功?
- 查看日志:每个 MQ 产品的启动日志都至关重要,检查日志文件,确认没有启动失败的错误信息。
- 使用自带的管理工具:
- IBM MQ:
dspmq查看队列管理器状态。 - RabbitMQ: 访问管理界面
http://localhost:15672(默认用户名/密码:guest/guest),或者使用rabbitmqctl status命令。 - Kafka: 使用
kafka-topics.sh --list --bootstrap-server localhost:9092来测试 Broker 是否响应。 - RocketMQ: 使用
jps命令查看 Java 进程,应该能看到NamesrvStartup和BrokerStartup进程。
- IBM MQ:
重要提示:在执行任何命令前,请确保:
- 已正确安装对应的 MQ 产品。
- 相关的环境变量(如
PATH,JAVA_HOME)已正确配置。 - 知道配置文件的位置,并根据需要进行修改。
