本教程系统是Ubuntu 24.04,RocketMQ版本:5.3.2。RocketMQ安装在宿主机上rocketmq-dashboard安装在docker里
RocketMQ 需要 Java:
1 | sudo apt update |
下载和移动rocketMQ二进制文件:
1 | cd ~ |
设置自启动和后台启动
配置 systemd 自启动
我的rocket安装目录:/usr/rocketmq/
namesrv 服务
1
sudo nano /etc/systemd/system/rocketmq-namesrv.service
添加
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15[Unit]
Description=Apache RocketMQ NameServer
After=network.target
[Service]
Type=simple
Environment=JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
ExecStart=/usr/rocketmq/bin/mqnamesrv
ExecStop=/usr/rocketmq/bin/mqshutdown namesrv
Restart=on-failure
RestartSec=5s
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target配置 Broker
1
sudo nano /usr/rocketmq/conf/broker.conf
添加或修改以下内容
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
namesrvAddr = 127.0.0.1:9876
defaultTopicQueueNums = 4
autoCreateTopicEnable = true
autoCreateSubscriptionGroup = true
listenPort = 10911
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
# 存储路径(可自定义)
storePathRootDir = /opt/rocketmq/store
storePathCommitLog = /opt/rocketmq/store/commitlogbroker 服务
1
sudo nano /etc/systemd/system/rocketmq-broker.service
添加
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16[Unit]
Description=Apache RocketMQ Broker
After=network.target rocketmq-namesrv.service
Requires=rocketmq-namesrv.service
[Service]
Type=simple
Environment=JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
ExecStart=/opt/rocketmq/bin/mqbroker -c /opt/rocketmq/conf/broker.conf
ExecStop=/opt/rocketmq/bin/mqshutdown broker
Restart=on-failure
RestartSec=5s
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target自启动
1
2
3
4
5
6
7
8
9
10# 重载 systemd
sudo systemctl daemon-reload
# 启动 NameServer
sudo systemctl enable --now rocketmq-namesrv
sudo systemctl status rocketmq-namesrv
# 启动 Broker
sudo systemctl enable --now rocketmq-broker
sudo systemctl status rocketmq-broker确认状态
1
2sudo systemctl status rocketmq-namesrv
sudo systemctl status rocketmq-broker调整 JVM 内存(重要!)
1
2
3
4
5// broker
sed -i 's/-Xms8g -Xmx8g/-Xms1g -Xmx1g/g' /usr/local/rocketmq/bin/runbroker.sh
sed -i 's/-XX:MaxDirectMemorySize=15g/-XX:MaxDirectMemorySize=1g/g' /usr/local/rocketmq/bin/runbroker.sh
// namesrv
sed -i 's/-Xms4g -Xmx4g -Xmn2g/-Xms512m -Xmx512m -Xmn256m/g' /usr/local/rocketmq/bin/runserver.sh验证:
1
2grep "Xms" /usr/local/rocketmq/bin/runbroker.sh
grep "Xms" /usr/local/rocketmq/bin/runserver.sh重启:
1
2
3sudo systemctl restart rocketmq-namesrv
sudo systemctl restart rocketmq-broker
free -h
使用docker安装dashboard
1 | docker run -d \ |
- 确认容器正常运行:
1 | docker ps |
- 确认端口监听:
1 | ss -tlnp | grep 8080 |
- 确认防火墙:
1 | # 查看防火墙状态 |