linux CentOS8安装RocketMQ

  • 时间:2025-11-14 13:50 作者: 来源: 阅读:0
  • 扫一扫,手机访问
摘要: 注:安装rocketMQ的前提是已经安装jdk和maven 下载、解压: 官网:Apache Downloads 可以下载之后通过Xftp上传到服务器上解压,也可以直接通过下面命令直接下载source资源: # wget https://dlcdn.apache.org/rocketmq/4.9.2/rocketmq-all-4.9.2-source-release.zip 解压

注:安装rocketMQ的前提是已经安装jdk和maven

下载、解压:

官网:Apache Downloads

linux CentOS8安装RocketMQ

可以下载之后通过Xftp上传到服务器上解压,也可以直接通过下面命令直接下载source资源:
# wget https://dlcdn.apache.org/rocketmq/4.9.2/rocketmq-all-4.9.2-source-release.zip
解压:
# unzip rocketmq-all-4.9.2-source-release.zip

安装:

进入解压完的文件夹内,构建二进制文件:
# cd rocketmq-all-4.9.2/
# mvn -Prelease-all -DskipTests clean install -U

启动:

  1. 进入到目录:
    # cd distribution/target/rocketmq-4.9.2/rocketmq-4.9.2/bin/

  2. 启动NameServer:
    使用nohup命令启动(命令的意思可以自己百度),指定一个NameServer启动日志的输出目录,这个目录地址可以自己指定,全路径就可以
    # mkdir /opt/software/rocketmq-all-4.9.2/distribution/bin/logs
    # mkdir /opt/software/rocketmq-all-4.9.2/distribution/bin/logs/rocketmqlogs
    # nohup sh /opt/software/rocketmq-all-4.9.2/distribution/target/rocketmq-4.9.2/rocketmq-4.9.2/bin/mqnamesrv >/opt/software/rocketmq-all-4.9.2/distribution/bin/logs/rocketmqlogs/mqnamesrv.log 2>&1 &

    linux CentOS8安装RocketMQ

  3. 启动broker:
    # nohup sh /opt/software/rocketmq-all-4.9.2/distribution/target/rocketmq-4.9.2/rocketmq-4.9.2/bin/mqbroker >/opt/software/rocketmq-all-4.9.2/distribution/bin/logs/rocketmqlogs/mqbroker.log 2>&1 &

    linux CentOS8安装RocketMQ

  4. 看启动日志:
    # cat /opt/software/rocketmq-all-4.9.2/distribution/bin/logs/rocketmqlogs/mqnamesrv.log

    linux CentOS8安装RocketMQ

# cat /opt/software/rocketmq-all-4.9.2/distribution/bin/logs/rocketmqlogs/mqbroker.log

linux CentOS8安装RocketMQ

由于我的环境跑在虚拟机中配置比较低,所以在启动日志中,报了Cannot allocate memory内存不足的错,解决办法(修改target下的配置文件记得在每次maven构建的时候再修改一次(可能你安装完就不会再构建一次了),或者直接修改/distribution/bin目录下的文件):

vi runserver.sh
#修改这里的配置内存
JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx128m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m"

linux CentOS8安装RocketMQ

vi runbroker.sh/
#修改这里的配置内存
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn256m"
JAVA_OPT="${JAVA_OPT} -XX:MaxDirectMemorySize=256m"

linux CentOS8安装RocketMQ

vi tools.sh/
#修改这里的配置内存
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn256m -XX:PermSize=128m -XX:MaxPermSize=128m"

linux CentOS8安装RocketMQ

  1. 测试:

#在发送/接收消息之前,我们需要告知客户名称服务器的位置。RocketMQ 提供了多种方法来实现这一点。为了简单起见,我们使用环境变量NAMESRV_ADDR
export NAMESRV_ADDR=localhost:9876
#发送消息
sh /opt/software/rocketmq-all-4.9.2/distribution/target/rocketmq-4.9.2/rocketmq-4.9.2/bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
#接收消息
sh /opt/software/rocketmq-all-4.9.2/distribution/target/rocketmq-4.9.2/rocketmq-4.9.2/bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

附1:RocketMQ常用命令:

# cd /opt/software/rocketmq-all-4.9.2/distribution/

sh bin/mqshutdown broker    //停止 broker
sh bin/mqshutdown namesrv   //停止 nameserver
./mqadmin clusterList -n 127.0.0.1:9876 #查看集群情况
./mqadmin brokerStatus -n 127.0.0.1:9876 -b 172.20.1.138:10911 #查看 broker 状态  (注意换成你的 broker 地址)
./mqadmin topicList -n 127.0.0.1:9876 #查看 topic 列表 
./mqadmin topicStatus -n 127.0.0.1:9876 -t MyTopic #查看 topic 状态  (换成你想查询的 topic)
./mqadmin topicRoute -n 127.0.0.1:9876 -t MyTopic #查看 topic 路由 

附2:rocketMQ安装启动可视化控制台(rocketmq-dashboard):

一、docker方式:
  1. 用docker拉取镜像:
    # docker pull apacherocketmq/rocketmq-dashboard:latest
  2. 启动(使用自己的rocketmq.namesrv.addr and port):
    # docker run -d --name rocketmq-dashboard -e "JAVA_OPTS=-Drocketmq.namesrv.addr=192.168.18.124:9876" -p 8080:8080 -t apacherocketmq/rocketmq-dashboard:latest
二、编译源码方式:

前置环境:
64bit OS, Linux/Unix/Mac is recommended;
64bit JDK 1.8+;
Maven 3.2.x;

  1. 下载源码:https://github.com/apache/rocketmq-dashboard

  2. Maven spring-boot 方式启动:
    # mvn spring-boot:run
    或者
    使用Maven先build成jar包,再java -jar方式启动:
    # mvn clean package -Dmaven.test.skip=true
    # java -jar target/rocketmq-dashboard-1.0.1-SNAPSHOT.jar

访问控制台:http://192.168.18.124:8080

linux CentOS8安装RocketMQ

附:防火墙开放8080端口

查看8080端口状态
# firewall-cmd --query-port=8080/tcp
开放8080端口对外
# firewall-cmd --zone=public --add-port=8080/tcp --permanent
重启防火墙生效
# systemctl restart firewalld

参考:https://github.com/apache/rocketmq-dashboard

常见问题:

1. 本地生产者服务debug时,发送消息超时问题。

第一,由于rocketMQ安装在另一台机器上,所以需要开放9876端口;
# firewall-cmd --query-port=9876/tcp
# firewall-cmd --zone=public --add-port=9876/tcp --permanent
# systemctl restart firewalld
开放之后还是不行,进入控制台查看集群:

linux CentOS8安装RocketMQ


192.168.18.124:10911这个地址也要开放,本地才能连得上,所以:
# firewall-cmd --query-port=10911/tcp
# firewall-cmd --zone=public --add-port=10911/tcp --permanent
# systemctl restart firewalld

2. xxx。
  • 全部评论(0)
最新发布的资讯信息
【系统环境|】Android语言基础教程(114)Android处理键盘事件范例之提示音量增加事件:别让你的音量键摸鱼了!Android键盘事件处理的终极骚操作(2025-11-14 14:04)
【系统环境|】STM32独立编程能力提升指南:从代码拼接到自主设计(2025-11-14 14:03)
【系统环境|】告别低效编码:Claude Code 全功能实战指南(2025-11-14 14:03)
【系统环境|】Android语言基础教程(134)Android尺寸(dimen)资源之定义尺寸资源文件:别让UI崩盘!Android尺寸资源的终极生存指南,程序员头发有救了(2025-11-14 14:02)
【系统环境|】Android语言基础教程(137)Android尺寸(dimen)资源范例之逐渐加宽的彩虹桥背景:Android尺寸资源全攻略:打造你的“彩虹桥”背景(2025-11-14 14:02)
【系统环境|】Android语言基础教程(86)Android基本程序单元Activity范例之实现应用对话框主题:别让你的APP太“直白”!Activity秒变对话框的魔法指南(2025-11-14 14:01)
【系统环境|】JavaScript 指南(2025-11-14 14:01)
【系统环境|】Android语言基础教程(64)Android高级用户界面设计高级组件之进度条:进度条:Android界的“强迫症救星”!从青铜到王者的进阶指南(2025-11-14 14:00)
【系统环境|】AI 影像诊断简介指南(2025-11-14 14:00)
【系统环境|】Android语言基础教程(111)Android事件处理之处理键盘事件:别让键盘玩死你!Android键盘事件处理全揭秘(2025-11-14 13:58)
手机二维码手机访问领取大礼包
返回顶部