您的位置:首页 >银河麒麟下怎么安装和配置RocketMQ
发布于2026-08-06 阅读(0)
扫一扫,手机访问
在银河麒麟系统上折腾RocketMQ,其实核心就几个关键点:JDK版本、内存参数、网络配置。选对版本、调好内存、配好IP,基本就能跑起来。下面把整个过程拆开来讲,每一步都有坑,咱们一个个填。

先说环境适配,银河麒麟V10默认带的是OpenJDK 8,这正好是RocketMQ 4.9.4的「官配」。如果换了5.x版本,那就要JDK 11+,麒麟上直接报错。所以版本锁定很关键,别贪新。
先确认JDK是否到位:执行ja va -version,看到输出里包含openjdk version "1.8"就对了。如果没有,用yum install ja va-1.8.0-openjdk-devel装一下。
接下来去Apache归档库下载RocketMQ 4.9.4(【OpenJDK 8唯一稳定兼容版本】),务必选择rocketmq-all-4.9.4-bin-release.zip。注意,5.x系列强制要求JDK 11+,在麒麟V10 SP2上会直接报UnsupportedClassVersionError退出,别踩这个坑。
把压缩包上传到/usr/local目录,解压并重命名:unzip rocketmq-all-4.9.4-bin-release.zip && mv rocketmq-all-4.9.4-bin-release rocketmq。
银河麒麟虚拟机或低配物理机,默认8G堆内存很容易触发OOM。必须手动调小,否则服务启动后静默退出,连个错误日志都看不到。
进到/usr/local/rocketmq/bin目录,编辑runbroker.sh,找到第38行左右的JA VA_OPT变量,改成:
JA VA_OPT="${JA VA_OPT} -server -Xms512m -Xmx512m -Xmn256m"
这是4G内存机器的安全值。如果只有2G内存,还得进一步降到-Xms256m -Xmx256m,否则Broker启动后立刻静默退出,无任何日志。
同目录下编辑runserver.sh,把原来的-Xms4g -Xmx4g改成-Xms256m -Xmx256m。NameServer对内存不敏感,但设太大反而会抢占Broker的资源,得不偿失。
第一步:cd /usr/local/rocketmq && nohup sh bin/mqnamesrv &。
第二步:看启动日志tail -f ~/logs/rocketmqlogs/namesrv.log,等出现The Name Server boot success.字样,通常3-5秒就起来。
第三步:检查端口是否监听netstat -tuln | grep 9876。如果没有输出,说明防火墙拦住了,执行sudo firewall-cmd --permanent --add-port=9876/tcp && sudo firewall-cmd --reload放行。
方法一:单机快速启动(开发测试适用)
直接执行nohup sh bin/mqbroker -n localhost:9876 &即可。Broker会使用默认配置监听本地9876端口,但此时外部客户端无法连接,因为brokerIP1默认为内网地址或127.0.0.1。
方法二:生产环境必配外网IP(关键)
编辑/usr/local/rocketmq/conf/broker.conf,在文件末尾新增两行:
namesrvAddr=localhost:9876
brokerIP1=192.168.1.100 —— 这里192.168.1.100必须替换为本机实际对外IP(用ip a查ens3等主网卡的inet地址)。【漏填brokerIP1将导致远程Producer连接超时】。
保存后执行nohup sh bin/mqbroker -n localhost:9876 -c conf/broker.conf &启动。
验证Broker日志tail -f ~/logs/rocketmqlogs/broker.log,看到The broker boot success.即成功。
第一步:设置环境变量export NAMESRV_ADDR=localhost:9876。
第二步:发送测试消息sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer,终端应输出多行SendResult [sendStatus=SEND_OK, ...]。
第三步:接收测试消息sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer,几秒内打印出相同数量的Receive New Messages:日志,按Ctrl+C终止。
这一步通过,就证明NameServer与Broker通信正常,基础消息链路已经打通。后续可以放心部署业务了。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
4
5
6
7
8
9