我由于之前部署kafka 的时候,把Zookeeper 已经安装好了,所以就直接共用了

1、下载最新RocketMQ包
wget https://dist.apache.org/repos/dist/release/rocketmq/5.3.1/rocketmq-all-5.3.1-bin-release.zip
2、解压&配置
unzip rocketmq-all-5.3.1-bin-release.zip
cd rocketmq-all-5.3.1-bin-release
#配置broker
vim ./conf/broker.conf
# 在 broker.conf 文件中,找到并修改 zookeeper.connect 配置,指定 Kafka 中 Zookeeper 的地址:
# 配置 RocketMQ 使用 Kafka 的 Zookeeper
zookeeper.connect=localhost:2181
3、启动服务
#先启动namesrv 服务
nohup /opt/rocketmq/bin/mqnamesrv &
#再启动Broker 实例
nohup /opt/rocketmq/bin/mqbroker -n 127.0.0.1:9876 &
坑出现了。。。

我这里部署的时候是使用的vbox 虚拟机,配置了8G内存,启动broker 的时候死活启动不了,报137,翻了一下帖子是因为内存不够,然后立马使用free -h 看了一下内存占用,空闲7个G,一下子就蒙了,然后按网上教程设置java 的启动参数export JAVA_OPTS="-Xms512m -Xmx2g",还是不行,搞了半天,看了一下启动的日志(当前目录下会出现一个hs_err_pid42303.log 文件),里面启动的时候jvm参数一直是8G,搞不懂呀

然后到启动脚本(bin/mqbroker)里去找,没有找到任何相关的JAVA_OPTS 配置,打算放弃的时候,看到启动脚本里 最后是指向了/bin/runbroker.sh 的脚本

ok。 找到关键了,果然,就在这个里面

无论在前面如何谁知jvm ,在这里都会覆盖掉,真tm坑呀,修改成-Xms1g -Xmx2g ,再启动,完美搞定

4、设置启动自启

创建 RocketMQ NameServer 服务文件

sudo vim /etc/systemd/system/rocketmq-namesrv.service
​
​
[Unit]
Description=RocketMQ NameServer
After=network.target
​
[Service]
ExecStart=/opt/rocketmq/bin/mqnamesrv
ExecStop=/bin/kill -TERM $MAINPID
Restart=on-failure
​
[Install]
WantedBy=multi-user.target

创建 RocketMQ Broker 服务文件

sudo vim /etc/systemd/system/rocketmq-broker.service
​
[Unit]
Description=RocketMQ Broker
After=network.target
​
[Service]
ExecStart=/opt/rocketmq/bin/mqbroker -n 127.0.0.1:9876 -z localhost:2181
ExecStop=/bin/kill -TERM $MAINPID
Restart=on-failure
​
[Install]
WantedBy=multi-user.target

启用并启动 RocketMQ 服务

sudo systemctl daemon-reload
sudo systemctl enable rocketmq-namesrv
sudo systemctl enable rocketmq-broker
sudo systemctl start rocketmq-namesrv
sudo systemctl start rocketmq-broker

搞定