1. 搭建RocketMQ环境

说明

请在c盘根目录创建文件夹soft,并将所需要的软件包放置到 C:\soft\ 目录下

1. 请先安装好Ubuntu18.04

2. 安装RocketMQ

官网地址:https://rocketmq.apache.org/docs/quickStart/01quickstart
当前操作版本为 rocketmq-all-5.3.0-bin-release.zip

  • 2.1 通过一下命令,完成RocketMQ的安装。
sudo su
cd
sudo cp /mnt/c/soft/rocketmq-all-5.3.0-bin-release.zip ~
sudo unzip rocketmq-all-5.3.0-bin-release.zip -d /opt/
sudo mv /opt/rocketmq-all-5.3.0-bin-release /opt/rocketmq
  • 2.2 由于本机的内存比较小,没法给broker分配8g内存。默认8g。所以我们需要修改配置。将堆内存改为1g。
  • 2.3 查询哪些配置文件需要修改

grep -rn -E 'Xms|Xmx|Xmn|MetaspaceSize|MaxMetaspaceSize' /opt/rocketmq/bin/*sh:查询 /opt/rocketmq/bin 目录及子目录下,所有sh结尾的文件中哪些文件包含了 'Xms' 字符串。
grep -n -E 'Xms|Xmx|Xmn|MetaspaceSize|MaxMetaspaceSize' /opt/rocketmq/bin/*sh:查询 /opt/rocketmq/bin 目录下[不包含子目录],所有sh结尾的文件中哪些文件包含了 'Xms' 字符串。

image.png

在上图中,我们可以看到broker的内存默认为8g。

参数 含义
-Xms Jvm初始堆内存大小
-Xmx Jvm最大堆内存大小
-Xmn Jvm年轻代内存大小
-XX:MetaspaceSize Jvm元空间,初始大小
-XX:MaxMetaspaceSize Jvm元空间,最大初始大小

在JMM中,方法区是一个逻辑概念,它的具体实现在JDK1.8之前永久代JDK1.8之后元空间
在此,我设置堆内存为1g、年轻代为256m、元空间保持默认。

grep -n -E 'Xms|Xmx|Xmn|MetaspaceSize|MaxMetaspaceSize' /opt/rocketmq/bin/*sh
sudo cp /opt/rocketmq/bin/runbroker.sh  /opt/rocketmq/bin/runbroker.sh.bak
sudo cp /opt/rocketmq/bin/runserver.sh  /opt/rocketmq/bin/runserver.sh.bak
sudo sed -i 's/-Xms8g/-Xms1g/g; s/-Xmx8g/-Xmx1g/g; s/-Xmn4g/-Xmn256m/g' /opt/rocketmq/bin/runbroker.sh
sudo sed -i 's/-Xms4g/-Xms1g/g; s/-Xmx4g/-Xmx1g/g; s/-Xmn2g/-Xmn256m/g' /opt/rocketmq/bin/runserver.sh
echo 'change memory finished'
grep -n -E 'Xms|Xmx|Xmn|MetaspaceSize|MaxMetaspaceSize' /opt/rocketmq/bin/*sh

3. 安装及配置的完整代码如下

sudo su
cd
sudo cp /mnt/c/soft/rocketmq-all-5.3.0-bin-release.zip ~
sudo unzip -q rocketmq-all-5.3.0-bin-release.zip -d /opt/
sudo mv /opt/rocketmq-all-5.3.0-bin-release /opt/rocketmq
grep -n -E 'Xms|Xmx|Xmn|MetaspaceSize|MaxMetaspaceSize' /opt/rocketmq/bin/*sh
sudo cp /opt/rocketmq/bin/runbroker.sh  /opt/rocketmq/bin/runbroker.sh.bak
sudo cp /opt/rocketmq/bin/runserver.sh  /opt/rocketmq/bin/runserver.sh.bak
sudo sed -i 's/-Xms8g/-Xms1g/g; s/-Xmx8g/-Xmx1g/g; s/-Xmn4g/-Xmn256m/g' /opt/rocketmq/bin/runbroker.sh
sudo sed -i 's/-Xms4g/-Xms1g/g; s/-Xmx4g/-Xmx1g/g; s/-Xmn2g/-Xmn256m/g' /opt/rocketmq/bin/runserver.sh
grep -n -E 'Xms|Xmx|Xmn|MetaspaceSize|MaxMetaspaceSize' /opt/rocketmq/bin/*sh
echo 'change memory finished'

4. 验证服务

参考官网示例:https://rocketmq.apache.org/docs/quickStart/01quickstart

窗口一:Start NameServer

nohup sh /opt/rocketmq/bin/mqnamesrv &
jps -l

窗口二:Start Broker and Proxy

nohup sh /opt/rocketmq/bin/mqbroker -n localhost:9876 --enable-proxy &
jps -l

窗口三:Send Messages with tools

export NAMESRV_ADDR=localhost:9876
sh /opt/rocketmq/bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

窗口四:Receive Messages with tools

export NAMESRV_ADDR=localhost:9876
sh /opt/rocketmq/bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

执行结果如下图所示:


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容