单机版 RocketMQ

单机版 RocketMQRocketMQ准备虚拟机centos7jdk8u281下载地址|Version|Client|Broker|NameServer||::|::|::|:-

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

单机版 RocketMQ

这三个可以不删除

单机版 RocketMQ

# 卸载命令
# 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

安装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

单机版 RocketMQ

# 后台启动 mqnamesrv
nohup ./mqnamesrv > /dev/null 2>&1 &
# 检查结果
ps -ef | grep mqnamesrv

单机版 RocketMQ

mqbroker

# 前台启动 mqbroker
./mqbroker -n 192.168.94.129:9876 autoCreateTopicEnable=true

单机版 RocketMQ

# 后台启动 mqbroker
nohup ./mqbroker -n 192.168.94.129:9876 autoCreateTopicEnable=true > /dev/null 2>&1 &

单机版 RocketMQ

问题

内存不足导致启动失败

原因:RocketMQ的配置默认是生产环境的配置,设置的jvm的内存大小值比较大,对于学习测试环境可能没这么大,所以需要调整默认值

单机版 RocketMQ

解决办法,找到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

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注