因为只是为了调试 RocketMQ 的一些原理,直接安装一个单机最简版的。

官方安装包下载地址:​​http://rocketmq.apache.org/docs/quick-start/​

但是下载太慢,我在网上找了一个 4.4 版本的,链接: https://pan.baidu.com/s/1iz3Xo0hZZqv5L3yuIjStBQ  密码: 2nnd

直接解压即可:

[root@MiWiFi-R4CM-srv rocketmq]# unzip rocketmq-all-4.4.0-bin-release.zip 
[root@MiWiFi-R4CM-srv rocketmq]# ls
rocketmq-all-4.4.0-bin-release rocketmq-all-4.4.0-bin-release.zip
[root@MiWiFi-R4CM-srv rocketmq]# cd rocketmq-all-4.4.0-bin-release
[root@MiWiFi-R4CM-srv rocketmq-all-4.4.0-bin-release]# ls
benchmark bin conf lib LICENSE NOTICE README.md
// 修改 broker、namesrv、tools 的 log 存放位置
[root@MiWiFi-R4CM-srv rocketmq-all-4.4.0-bin-release]# mkdir -p /data/logs/rocketmqlogs
[root@MiWiFi-R4CM-srv rocketmq-all-4.4.0-bin-release]#
[root@MiWiFi-R4CM-srv rocketmq-all-4.4.0-bin-release]# #
[root@MiWiFi-R4CM-srv rocketmq-all-4.4.0-bin-release]# sed -i 's#${user.home}/logs/#/data/logs/#g' conf/logback_broker.xml
[root@MiWiFi-R4CM-srv rocketmq-all-4.4.0-bin-release]# sed -i 's#${user.home}/logs/#/data/logs/#g' conf/logback_namesrv.xml
[root@MiWiFi-R4CM-srv rocketmq-all-4.4.0-bin-release]# sed -i 's#${user.home}/logs/#/data/logs/#g' conf/logback_tools.xml
// 修改 broker、namesrv、tools 的 jvm 大小
# vim bin/runbroker.sh
// 根据机器实际内存调整,这里演示的机器内存比较小,所以配置的值比较小
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"
JAVA_OPT="${JAVA_OPT} -XX:MaxDirectMemorySize=256m"
# vim bin/runserver.sh
// 根据机器实际内存调整,这里演示的机器内存比较小,所以配置的值比较小
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
# vim bin/tools.sh
// 根据机器实际内存调整,这里演示的机器内存比较小,所以配置的值比较小
JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx128m -Xmn256m -XX:PermSize=128m -XX:MaxPermSize=128m"

启动 Name Server:

[root@MiWiFi-R4CM-srv rocketmq-all-4.4.0-bin-release]# nohup sh bin/mqnamesrv > /data/logs/mqnamesrv.log 2>&1 & 
[1] 32070
[root@MiWiFi-R4CM-srv rocketmq-all-4.4.0-bin-release]# tail -f /data/logs/mqnamesrv.log
nohup: ignoring input
Java HotSpot(TM) 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) Server VM warning: UseCMSCompactAtFullCollection is deprecated and will likely be removed in a future release.
The Name Server boot success. serializeType=JSON

启动 Broker:

[root@MiWiFi-R4CM-srv rocketmq-all-4.4.0-bin-release]# nohup sh bin/mqbroker -n 192.168.31.52:9876 > /data/logs/mqbroker.log 2>&1 &
[2] 32322
[root@MiWiFi-R4CM-srv rocketmq-all-4.4.0-bin-release]# tail -f /data/logs/mqbroker.log at org.apache.rocketmq.common.BrokerConfig.<init>(BrokerConfig.java:38) [rocketmq-common-4.4.0.jar:4.4.0]
at org.apache.rocketmq.broker.BrokerStartup.createBrokerController(BrokerStartup.java:110) [rocketmq-broker-4.4.0.jar:4.4.0]
at org.apache.rocketmq.broker.BrokerStartup.main(BrokerStartup.java:58) [rocketmq-broker-4.4.0.jar:4.4.0]
Caused by: java.net.UnknownHostException: MiWiFi-R4CM-srv: No address associated with hostname
at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) ~[na:1.8.0_181]
at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928) ~[na:1.8.0_181]
at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323) ~[na:1.8.0_181]
at java.net.InetAddress.getLocalHost(InetAddress.java:1500) ~[na:1.8.0_181]
... 4 common frames omitted
The broker[DEFAULT_BROKER, 192.168.31.52:10911] boot success. serializeType=JSON and name server is 192.168.31.52: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...

数据默认存储在 $HOME/store 下:

[root@MiWiFi-R4CM-srv store]# echo $HOME
/root
[root@MiWiFi-R4CM-srv store]# cd /root/store/
[root@MiWiFi-R4CM-srv store]# ls
abort checkpoint commitlog config consumequeue index lock
[root@MiWiFi-R4CM-srv store]# cd commitlog/
[root@MiWiFi-R4CM-srv commitlog]# ls
00000000000000000000 00000000001073741824
[root@MiWiFi-R4CM-srv commitlog]# ll -lh
total 176K
-rw-r--r--. 1 root root 1.0G Feb 18 08:56 00000000000000000000
-rw-r--r--. 1 root root 1.0G Feb 18 08:56 00000000001073741824

References