1、环境:
Vmvare 12
centos7-minimal
2、安装jdk
查看yum库中的java安装包 :yum -y list java*
安装需要的jdk版本:yum -y install java-1.8.0-openjdk.x86_64
(安装完之后,默认的安装目录是在: /usr/lib/jvm/java-1.8.0-openjdk*)
java -version 查看确认安装情况。
3、下载RocketMQ并解压
unzip rocketmq-all-4.5.1-bin-release.zip -d ./
4、单机版程序启动
启动单机的消息队列服务比较简单,不需要写配置文件,只需要依次启动本机的NameServer和Broker即可。
cd rocketmq-all-4.5.1-bin-release
nohup sh bin/mqnamesrv &
nohup sh bin/mqbroker -n localhost:9876 &
在启动mqbroker 时报错如下:
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000005c0000000, 8589934592,
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 8589934592 bytes for committing reserved m
emory.# An error report file with more information is saved as:
# /home/phs/rocketmq-all-4.5.1-bin-release/hs_err_pid15010.log
原因是启动脚本默认配置使用的JVM内存过大,系统实际的物理内存不能满足。
需要修改bin 下的 3 个配置文件: runserver.sh、runbroker.sh 、tools.sh 。
1、 runserver.sh
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
2、runbroker.sh
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"
3、tools.sh
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn256m -XX:PermSize=128m -XX:MaxPermSize=128m"
https://blog.youkuaiyun.com/jiangyu1013/article/details/81486374
修改完重新启动mqbroker即可。
5、向客户端提供NameServer地址
export NAMESRV_ADDR=192.168.92.136:9876
6、模拟生产producer和消费consumer
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
https://www.cnblogs.com/dingkailinux/p/8874726.html
7、关闭mqnamesrv 和 mqbroker
sh bin/mqshutdown broker
sh bin/mqshutdown namesrv
其他:
静态IP配置参考:
https://blog.youkuaiyun.com/phs999/article/details/77448639
rocketMQ api文档: