Linux下Rocketmq4.7安装记录

本指南详细介绍了如何在Linux环境下部署RocketMQ4.7版本,包括解压安装包、配置环境变量、启动NameServer和Broker,以及发送接收消息的测试流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

官网下载安装包

本次教程安装的RocketMQ4.7版本,针对linux部署,其他系统参考RocketMQ官网

前置条件
64bit OS, Linux/Unix/Mac is recommended;(Windows user see guide below)
64bit JDK 1.8+;
Maven 3.2.x;
Git;
4g+ free disk for Broker server

解压压缩包
unzip rocketmq-all-4.7.1-source-release.zip

重命名
mv rocketmq-all-4.7.1-source-release rocketmq-all-4.7.1

进入目录
cd rocketmq-all-4.7.1/

打包依赖(首次有点久)
mvn -Prelease-all -DskipTests clean install -U

cd distribution/target/rocketmq-4.7.1/rocketmq-4.7.1

1.Start Name Server(启动nameServer)

nohup sh bin/mqnamesrv &

查看日志
tail -f ~/logs/rocketmqlogs/namesrv.log
显示The Name Server boot success…代表启动成功

2.Start Broker
启动broker (-n指定nameserver地址,nameserver服务端口为9876, broker默认端口 10911)
nohup sh bin/mqbroker -n localhost:9876 &
查看日志
tail -f ~/logs/rocketmqlogs/broker.log
显示The broker[%s, 172.30.30.233:10911] boot success…代表启动成功

3.Send & Receive Messages(验证是否成功)
说明:Before sending/receiving messages, we need to tell clients the location of name servers. RocketMQ provides multiple ways to achieve this. For simplicity, we use environment variable NAMESRV_ADDR

设置名称服务地址
export NAMESRV_ADDR=localhost:9876
投递消息
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
显示SendResult [sendStatus=SEND_OK, msgId= …代表成功

消费消息
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
显示ConsumeMessageThread_%d Receive New Messages: [MessageExt…代表成功

4.Shutdown Servers (关闭nameserver broker执行的命令)
sh bin/mqshutdown broker
sh bin/mqshutdown namesrv

使用jps命令可查看后台进程

源码安装RocketMQ4.x可视化控制台
下载源码链接

cd rocketmq-externals/rocketmq-console

编译打包
mvn clean package -Dmaven.test.skip=true
进入target目录 通过java -jar的方式运行, 启动后是 8080端口

其他常见问题:

1)无法连接获取broker信息
修改配置文件,名称路由地址为 namesrvAddr,例如我本机地址为
src/main/resources/application.properties
rocketmq.config.namesrvAddr=127.0.0.1:9876
2)连接不成功
在阿里云,腾讯云或者虚拟机,记得检查端口号和防火墙是否启动
阿里云控制台有安全组,需要开放对应的端口

### 安装 RocketMQ 4.7 RocketMQ 是一款分布式消息中间件,具备高性能、低延迟和高可靠性等特性。在 CentOS 7 系统中安装 RocketMQ 4.7 版本,需确保系统已安装 JDK 1.8,并准备好必要的依赖环境。 #### 1. 下载 RocketMQ 4.7 源码包 RocketMQ 提供了源码发布包,可以通过 `wget` 命令从镜像站点下载: ```bash wget http://mirrors.hust.edu.cn/apache/rocketmq/4.7.0/rocketmq-all-4.7.0-source-release.zip ``` 下载完成后,使用解压工具将文件解压至目标目录,例如 `/usr/local/rocketmq`: ```bash unzip rocketmq-all-4.7.0-source-release.zip -d /usr/local/rocketmq ``` 进入解压后的目录并构建项目: ```bash cd /usr/local/rocketmq/rocketmq-4.7.0 mvn -Prelease-all -DskipTests clean install -U ``` 构建成功后,RocketMQ 的可执行文件将在 `distribution/target` 目录下生成。 #### 2. 配置 RocketMQ 环境变量(可选) 为了方便操作,可以将 RocketMQ 的 `bin` 目录添加到系统的 `PATH` 环境变量中: ```bash export ROCKETMQ_HOME=/usr/local/rocketmq/rocketmq-4.7.0/distribution/target/rocketmq-all-4.7.0/rocketmq-4.7.0 export PATH=$ROCKETMQ_HOME/bin:$PATH ``` 建议将上述配置写入 `/etc/profile` 或用户级的 `.bashrc` 文件中,以实现永久生效。 #### 3. 启动 NameServer NameServer 是 RocketMQ 的命名服务,负责管理 Broker 和 Topic 的路由信息。启动命令如下: ```bash nohup mqnamesrv & ``` 默认情况下,NameServer 会监听 `9876` 端口。可以通过修改 `runserver.sh` 文件中的 `JAVA_OPT` 参数调整内存设置。 #### 4. 启动 Broker Broker 是 RocketMQ 的消息服务器,负责接收和存储消息。启动前需要指定 NameServer 地址: ```bash nohup mqbroker -n localhost:9876 & ``` 如果 Broker 启动失败,可能是因为内存限制问题。可以编辑 `runbroker.sh` 文件,适当调整 JVM 内存参数,例如: ```bash JAVA_OPT="${JAVA_OPT} -Xms256m -Xmx256m" ``` #### 5. 验证安装 RocketMQ 提供了示例生产者和消费者程序,可用于验证安装是否成功。 ##### 发送消息 运行示例生产者程序发送消息: ```bash export NAMESRV_ADDR=localhost:9876 tools.sh org.apache.rocketmq.example.quickstart.Producer ``` ##### 消费消息 运行示例消费者程序消费消息: ```bash tools.sh org.apache.rocketmq.example.quickstart.Consumer ``` 如果能看到生产者发送的消息被消费者成功接收,则表示 RocketMQ 安装和配置成功。 #### 6. 使用 Docker 安装(可选) 如果希望使用 Docker 安装 RocketMQ,可以通过以下命令拉取镜像并启动容器: ```bash docker pull apacherocketmq/rocketmq:4.7.1 ``` 启动 NameServer: ```bash docker run -d -p 9876:9876 --name rmqnamesrv apacherocketmq/rocketmq:4.7.1 mqnamesrv ``` 启动 Broker: ```bash docker run -d -p 10911:10911 -p 10909:10909 --name rmqbroker --link rmqnamesrv:namesrv -e "NAMESRV_ADDR=namesrv:9876" -e "JAVA_OPT=-Xms256m -Xmx256m" apacherocketmq/rocketmq:4.7.1 mqbroker ``` 可以通过复制容器内的配置文件来生成 Broker 的自定义配置[^3]。 #### 7. 注意事项 - 确保防火墙允许 RocketMQ 所需端口(如 9876、10911)通信。 - 如果部署在云服务器上,需检查安全组规则是否放行相关端口。 - 生产环境中建议使用多节点集群部署以提高可用性。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值