安装jdk(参考:https://blog.csdn.net/github_38336924/article/details/82221258)
- 执行安装jdk命令
yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel
- 设置环境变量
JDK
默认安装路径/usr/lib/jvm,因此
在/etc/profile
文件添加如下命令
# set java environment
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.272.b10-1.el7_9.x86_64
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export CLASSPATH
export PATH
- 生效配置
source /etc/profile
安装maven(参考https://www.cnblogs.com/sanduzxcvbnm/p/11550819.html)
- 拉取代码
wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo
yum -y install apache-maven
- 在/etc/maven目录下清空settings.xml
cat /dev/null > settings.xml
- 设置setting.xml(参考:https://blog.csdn.net/hou549135295/article/details/83988327)
安装rocketMq
- 拉取rocketMq的bin文件
wget https://mirror.bit.edu.cn/apache/rocketmq/4.7.1/rocketmq-all-4.7.1-bin-release.zip
- 解压
unzip rocketmq-all-4.7.1-bin-release.zip
- 启动nameserver和broker
在rocketmq-all-4.7.1-bin-release目录下执行:
nohup sh bin/mqnamesrv &
nohup sh bin/mqbroker -n localhost:9876 &
如果出现如下问题,这是因为nameserver默认内存4G,而broker的默认内存为8G,所以会出现下面问题。
OpenJDK 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
OpenJDK 64-Bit Server VM warning: UseCMSCompactAtFullCollection is deprecated and will likely be removed in a future release.
OpenJDK 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:
# /root/rocketmq-all-4.7.1-bin-release/hs_err_pid15568.log
则参考https://blog.csdn.net/a971088721/article/details/90410516处理
- 通过jps命令查看是否启动成功
- 关闭命令
sh bin/mqshutdown namesrv
sh bin/mqshutdown broker
测试rocketMq
- 发送消息
export NAMESRV_ADDR=localhost:9876
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
- 接收消息
export NAMESRV_ADDR=localhost:9876
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer