安装前提条件(推荐) 64bit OS, Linux/Unix/Mac (Windows不兼容)64bit JDK 1.8+;
快速开始
http://rocketmq.apache.org/docs/quick-start/
下载安装包
https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.9.4/rocketmq-all-4.9.4-source-release.zip
解压安装包
unzip rocketmq-all-4.9.4-source-release.zip
进入目录
cd rocketmq-all-4.9.4-source-release/
构建环境
mvn -Prelease-all -DskipTests clean install -U
最终路径
cd distribution/target/rocketmq-4.9.4/rocketmq-4.9.4
最新版本部署存在问题
Please set the JAVA_HOME variable in your environment, We need java(x64)
解决:本地需要配置 JAVA_HOME 使用命令 vim ~/.bash_profile
JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home"
export JAVA_HOME
CLASS_PATH="$JAVA_HOME/lib"
PATH=".$PATH:$JAVA_HOME/bin"
使用 source /etc/profile 让配置立刻生效
启动nameServer
nohup sh bin/mqnamesrv &
查看日志
tail -f nohup.out
(结尾:The Name Server boot success. serializeType=JSON 表示启动成功)
启动broker
(-n指定nameserver地址,nameserver服务端口为9876, broker默认端口 10911)
nohup sh bin/mqbroker -n localhost:9876 &
验证是否成功
- 设置名称服务地址
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...
关闭服务器
关闭broker
sh bin/mqshutdown broker
The mqbroker(36695) is running...
Send shutdown request to mqbroker(36695) OK
关闭 namesrv
sh bin/mqshutdown namesrv
The mqnamesrv(36664) is running...
Send shutdown request to mqnamesrv(36664) OK
问题
Liunx 解压安装
yum install unzip
NameServer内存不足
报错问题如下
[root@iZwz94sw188z3yfl7lpmmsZ apache-rocketmq]# sh bin/mqnamesrv
Java HotSpot(TM) 64-Bit Server VM warning: Using the DefNew young collector with the CMS collector is deprecated and will likely be removed in a future release
Java HotSpot(TM) 64-Bit Server VM warning: UseCMSCompactAtFullCollection is deprecated and will likely be removed in a future release.
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000006ec800000, 2147483648, 0) failed; error='Cannot allocate memory' (errno=12)
There is insufficient memory for the Java Runtime Environment to continue.
Native memory allocation (mmap) failed to map 2147483648 bytes for committing reserved memory.
An error report file with more information is saved as:
/usr/local/software/rocketmq-all-4.4.0/distribution/target/apache-rocketmq/hs_err_pid8993.log
解决
bin/runserver.sh
修改内存
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
Broker内存不足
runbroker.sh
修改内存
JAVA_OPT="${JAVA_OPT} -server -Xms528m -Xmx528m -Xmn256m"
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话