CentOS 8.0 系统下安装 RocketMQ
0. 准备工作
首先,需要在服务器上安装 Java 环境,配置 jdk 1.8+, 因为 RocketMQ 是由 java 语言开发,必须要有 Java 环境。在 linux 环境下安装 jdk 可以参考教程 基于Linux环境安装 jdk 1.8(详细安装教程)
1. 下载 RocketMQ
首先,需要在 Apache RocketMQ 官网下载 RocketMQ, 当前最新版本为 4.9.0, 如果需要下载其他版本,直接更改链接https://rocketmq.apache.org/release_notes/release-notes-4.x.0/
即可,其中 x
就是需要更改的版本,这里我使用的是准备好的 4.4.0 版本,点击链接可以直接下载。
需要注意的是,我们需要下载的是 Linux 平台下的二进制压缩包
2. 上传压缩包至云服务器
下载完二进制压缩包之后,需要将压缩包通过 FTP 文件传输工具上传到云服务器上面。
首先,在云服务器建立一个新的文件夹,用来存放上传的压缩包,输入命令
mkdir /usr/local/software
创建好文件夹 software
之后,将压缩包上传到该文件夹即可。
3. 安装 RocketMQ
第一步:解压。首先,通过命令 cd /usr/local/software
,切换到存放RocketMQ压缩包的目录。然后,将其解压,输入命令
unzip rocketmq-all-4.4.0-bin-release.zip
解压完成之后,可以使用命令ll
查看当前目录包含的文件,其中就包括 rocketmq-all-4.4.0-bin-release
第二步:移动解压后的 rocketmq-all-4.4.0-bin-release 至目录 /usr/local/rocketmq
下。首先,创建在 /usr/local
下创建新的文件夹 rocketmq
mkdir /usr/local/rocketmq
然后使用如下命令,将 rocketmq-all-4.4.0-bin-release 移动到 /usr/local/rockemq
目录下。
mv rocketmq-all-4.4.0-bin-release /usr/local/rocketmq/
移动好之后,切换到 /usr/local/rocketmq
目录,并查看该目录下是否存在 rocketmq-all-4.4.0-bin-release 文件。
最后,使用命令cd rocketmq-all-4.4.0-bin-release/bin
, 切换到 bin 目录下
到这里,安装工作完成。
4. 启动 RocketMQ
安装完成之后,就可以着手启动 RocketMQ 了。
第一步:启动 Name Server.
# 1.启动NameServer
nohup sh bin/mqnamesrv &
# 2.查看启动日志
tail -f ~/logs/rocketmqlogs/namesrv.log
第二步:启动 Broker.
# 1.启动Broker
nohup sh mqbroker -n localhost:9876 &
# 2.查看启动日志
tail -f ~/logs/rocketmqlogs/broker.log
但是,从上图中可以看到,并不能查看到任何的日志,显示没有该文件或目录。这主要是因为 RocketMQ默认的虚拟机内存较大,启动Broker如果因为内存不足失败,需要编辑如下两个配置文件,修改JVM内存大小。
- 需要修改 runbroker.sh 文件的配置。
vi runbroker.sh
我们可以看到,默认的 JVM 内存分配的很大,已经远远超出了云服务器内存大小(我的云服务器内存为2G),所以我们需要修改它的默认值,修改为
-server -Xms256m -Xmx256m -Xmn128m
2. 修改 runserver.sh 文件的配置。
vi runserver.sh
将它的默认内存分配更改为
-server -Xms256m -Xmx256m -Xmn128m
3. 配置完成之后,重新启动 broker,并查看日志。注意此时的目录为 rocketmq-all-4.4.0-bin-release,自己手动切换一下。
nohup sh bin/mqbroker -n localhost:9876 &
tail -f ~/logs/rocketmqlogs/broker.log
可以看到,输出日志内容。
第三步: 使用 jps 命令,查看启动的进程
可以观察到,Broker 和 Name Server 均启动成功,这样 RocketMQ 也启动成功了。
5. 测试 RocketMQ
启动完成之后,可以测试一下 RocketMQ, 模拟发送和接收消息过程。
5.1 发送消息
首先,需要新建一个连接到云服务器上的界面,模拟消息发送方。例如,我新建了一个 aliyun2 连接到服务器上,作为消息的发送方。
依次输入以下命令
cd /usr/local/rocketmq/rocketmq-all-4.4.0-bin-release/bin
export NAMESRV_ADDR=localhost:9876
sh tools.sh org.apache.rocketmq.example.quickstart.Producer
可以看到消息发送成功。
5.2 接收消息
同样地,需要新建一个连接到云服务器上的界面,模拟消息接收方。
可以看到,接收消息成功。需要注意的是,消息接收方是一等待着消息发送方发送消息的,所以它需要一直监控。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/5215.html