RocketMQ
准备
虚拟机
centos7
jdk8u281
下载地址
安装版RocketMQ版本受jre环境影响,关系如下表格(取自官方)
Version | Client | Broker | NameServer |
---|---|---|---|
4.0.0-incubating | >=1.7 | >=1.8 | >=1.8 |
4.1.0-incubating | >=1.6 | >=1.8 | >=1.8 |
4.2.0 | >=1.6 | >=1.8 | >=1.8 |
4.3.x | >=1.6 | >=1.8 | >=1.8 |
4.4.x | >=1.6 | >=1.8 | >=1.8 |
4.5.x | >=1.6 | >=1.8 | >=1.8 |
4.6.x | >=1.6 | >=1.8 | >=1.8 |
4.7.x | >=1.6 | >=1.8 | >=1.8 |
4.8.x | >=1.6 | >=1.8 | >=1.8 |
安装步骤
卸载centos7自带的openjdk
# 查询系统是否已经安装jdk
rpm -qa|grep java
这三个可以不删除
# 卸载命令
# rpm -e --nodeps + 包名
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.275.b01-0.el7_0.x86_64
安装 Java
jdk
# 下载地址
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
# 将安装包上传
/usr/local/jdk-8u281-linux-x64.tar.gz
# 解压
tar -xzvf jdk-8u281-linux-x64.tar.gz
# 软连接
sudo ln -s jdk1.8.0_281/ jdk
# 设置环境变量
vim /etc/profile
# 添加内容
export JAVA_HOME=/usr/local/jdk
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
# 生效环境变量
source /etc/profile
# 检查是否安装成功
java -version
安装rocketMQ
# 下载 使用 wget或者下载文件上传到服务器都可以
wget https://mirrors.bfsu.edu.cn/apache/rocketmq/4.8.0/rocketmq-all-4.8.0-bin-release.zip
# 解压安装
unzip rocketmq-all-4.8.0-bin-release.zip
# 只是为了找目录不用那么长
ln -s rocketmq-all-4.8.0-bin-release rocketmq
启动命令
mqnamesrv
# 切换到安装目录的bin目录下
# 前台启动 mqnamesrv
./mqnamesrv
# 后台启动 mqnamesrv
nohup ./mqnamesrv > /dev/null 2>&1 &
# 检查结果
ps -ef | grep mqnamesrv
mqbroker
# 前台启动 mqbroker
./mqbroker -n 192.168.94.129:9876 autoCreateTopicEnable=true
# 后台启动 mqbroker
nohup ./mqbroker -n 192.168.94.129:9876 autoCreateTopicEnable=true > /dev/null 2>&1 &
问题
内存不足导致启动失败
原因:RocketMQ的配置默认是生产环境的配置,设置的jvm的内存大小值比较大,对于学习测试环境可能没这么大,所以需要调整默认值
解决办法,找到runserver.sh和runbroker.sh,修改如下内容:
JAVA_OPT=”${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn125m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m”
修改 runserver.sh
# 编辑runserver.sh
vim runserver.sh
# 查找内容
/-server
# 原内容
JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
# 修改内容
# -Xmx256m:设置JVM最大可用内存为256m。
# -Xms3550m:设置JVM促使内存为3550m。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存
# -Xmn128m:设置年轻代大小为128m。整个JVM内存大小=年轻代大小 + 年老代大小 + 持久代大小。持久代一般固定大小为64m,所以增大年轻代后,将会减小年老代大小。此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8。
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
修改 runbroker.sh
# 编辑
vim runbroker.sh
# 查找内容
/-server
# 原内容
JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -Xmn4g"
# 修改内容
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"
重启 mqnamesrv
重启 mqbroker
注:引用官方文档,很详细可以参考
TODO 暂时写到这里,后续继续补充
今天的文章单机版 RocketMQ分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/21760.html