RocketMQ 5.0本地源码启动3Nameserve+2broker集群
发布人:shili8
发布时间:2025-02-07 09:53
阅读次数:0
**RocketMQ5.0 本地源码启动3 Nameserver +2 Broker 集群**
在本文中,我们将一步步地讲解如何使用 RocketMQ5.0 的源码启动一个3 Nameserver +2 Broker 的集群。
### **前言**
RocketMQ 是一款开源的分布式消息队列系统,支持多种消息类型(如普通消息、事务消息等),并提供了高可用性和伸缩性的特点。RocketMQ 的 Nameserver 负责管理 Broker 的注册和发现,而 Broker 则负责存储和传输消息。
### **环境准备**
在启动集群之前,我们需要准备好以下环境:
* Java8 或以上版本* Maven3.6.0 或以上版本* Git### **下载源码**
我们可以使用 Git 下载 RocketMQ 的源码:
bashgit clone />### **配置 Nameserver** 首先,我们需要配置 Nameserver。创建一个 `namesrv.properties` 文件,并添加以下内容:properties# Nameserver 配置nameServerPort=9876
接下来,我们需要启动 Nameserver。我们可以使用 Maven 的 `mvn compile exec:java` 命令来编译和运行 Nameserver:bashcd rocketmq-5.0.0mvn clean package -Dmaven.test.skip=truemvn exec:java -Dexec.mainClass="org.apache.rocketmq.namesrv.NamesServer" -Dexec.args="-c ./conf/namesrv.properties"
### **配置 Broker** 接下来,我们需要配置 Broker。创建两个 `broker.properties` 文件,并添加以下内容:properties# Broker 配置brokerId=0brokerName=broker-alistenPort=10911deleteWhen=04fileReservedTime=10000# Broker 配置brokerId=1brokerName=broker-blistenPort=10912deleteWhen=04fileReservedTime=10000
接下来,我们需要启动两个 Broker。我们可以使用 Maven 的 `mvn compile exec:java` 命令来编译和运行两个 Broker:bashcd rocketmq-5.0.0mvn clean package -Dmaven.test.skip=truemvn exec:java -Dexec.mainClass="org.apache.rocketmq.broker.Broker" -Dexec.args="-c ./conf/broker.properties"
### **启动 Nameserver** 我们已经配置好了 Nameserver,我们可以使用以下命令来启动它:bashcd rocketmq-5.0.0mvn exec:java -Dexec.mainClass="org.apache.rocketmq.namesrv.NamesServer" -Dexec.args="-c ./conf/namesrv.properties"
### **启动 Broker** 我们已经配置好了两个 Broker,我们可以使用以下命令来启动它们:bashcd rocketmq-5.0.0mvn exec:java -Dexec.mainClass="org.apache.rocketmq.broker.Broker" -Dexec.args="-c ./conf/broker.properties"
### **验证集群** 我们已经启动了 Nameserver 和两个 Broker,我们可以使用以下命令来验证集群:bashcd rocketmq-5.0.0mvn exec:java -Dexec.mainClass="org.apache.rocketmq.admin.console.Console" -Dexec.args="-c ./conf/admin.properties"
在 Console 中,我们可以看到 Nameserver 和两个 Broker 都已经启动了。 ### **总结** 在本文中,我们一步步地讲解了如何使用 RocketMQ5.0 的源码启动一个3 Nameserver +2 Broker 的集群。我们配置了 Nameserver、Broker 和 Admin Console,验证了集群的正常工作。