rocketmq源码启动
时间: 2025-01-26 17:20:02 浏览: 46
### 如何启动 RocketMQ 源码
#### 准备工作
为了能够成功编译并启动 RocketMQ 源码,需要确保开发环境中已经安装了必要的工具和依赖项。这些包括但不限于 JDK、Maven 和 Git。
#### 获取源码
可以通过克隆官方 GitHub 仓库来获取最新的 RocketMQ 源码:
```bash
git clone https://github.com/apache/rocketmq.git
cd rocketmq
```
#### 编译项目
使用 Maven 来构建整个工程,建议采用 `-DskipTests` 参数跳过测试以加快编译速度:
```bash
mvn -Prelease-all clean install -Dmaven.test.skip=true -U
```
此过程会下载所需的所有依赖库并将它们打包成可执行 jar 文件[^1]。
#### 设置环境变量
编辑 `/etc/profile` 或者当前用户的 `.bashrc` 文件设置 `ROCKETMQ_HOME` 变量指向解压后的目录,并更新系统的 PATH 路径以便可以直接调用命令行工具:
```bash
vim ~/.bashrc
export ROCKETMQ_HOME=/path/to/your/unzipped/directory
export PATH=${PATH}:${ROCKETMQ_HOME}/bin
source ~/.bashrc
```
#### 初始化数据存储结构
创建用于保存消息日志和其他元数据的文件夹结构,具体如下所示:
```bash
mkdir -p ${ROCKETMQ_HOME}/store/{commitlog,consumequeue,index}
```
#### 修改配置文件
根据实际需求调整 broker 配置文件中的各项参数,特别是当有多台机器组成集群时更要注意每台节点之间的差异化设定[^3]。
#### 启动 NameServer
Name Server 是 RocketMQ 中非常重要的组件之一,负责管理 Topic 注册表以及路由信息查询等功能。可以利用以下指令开启单实例模式下的 namesrv 实例:
```bash
nohup sh ${ROCKETMQ_HOME}/bin/mqnamesrv &
tail -f ~/logs/rocketmqlogs/namesrv.log
```
#### 启动 Broker
Broker 承担着接收生产者的发送请求并向消费者分发已订阅主题的消息的任务。对于初次使用者来说,默认情况下只需要启动一个 Master 即可满足基本的学习目的;而对于高可用性的场景,则可能还需要额外部署 Slave 角色形成主从架构。这里给出简单的 master-only 方式的启动方式:
```bash
nohup sh ${ROCKETMQ_HOME}/bin/mqbroker -n localhost:9876 autoCreateTopicEnable=true &
tail -f ~/logs/rocketmqlogs/broker.log
```
上述命令中指定了 name server 地址为本地主机上的默认端口 (即localhost:9876),并且允许自动创建不存在的主题资源。
阅读全文
相关推荐



















