云服务器安装RocketMQ教程

下载前准备

本文云服务器系统为centOS 7.9
RocketMQ 依赖于jdk1.8以上,因此,需要先安装jdk。如果已经安装jdk,可以跳过此步。

jdk快速安装方法:

查看可安装的jdk版本,可用如下代码
yum list |grep jdk

使用以下代码下载并安装jdk1.8,无需配置,下载完成后可直接使用。
yum install -y java-1.8.0-openjdk-devel.x86_64

RocketMQ的下载

环境要求:安装jdk1.8以上。

官网:https://rocketmq.apache.org/

下载地址:https://rocketmq.apache.org/download/

有两个下载链接,一种是source,一种是二进制文件。选二进制文件就可以了。都是zip文件,下载后发送到linux上,使用unzip命令解压。

具体安装步骤也可参考官网中文教程:https://rocketmq.apache.org/zh/docs/quickStart/01quickstart
注意:官网用的源码包,也就是Source。解压完需要编译打包,本文使用二进制文件,解压后可直接启动。

解压后就可以启动了

启动RocketMQ

启动前需要去更改配置文件,因为RocketMQ默认分配的内存过大,会导致启动失败。

首先前往bin目录

nameserver的启动文件
vim runserver.sh

一般按这个改就可以了 -xms256m -xmx256m -xmn128m

我这里改的小一点,只给了200M内存。

borker的启动文件
vim runbroker.sh

1.启动NameService

在bin目录下有mqnamesrv脚本,用该脚本启动。
nohup sh mqnamesrv &

nohup启动,sh管理员权限,&后台运行。

nohup.out可以查看日志。

2.启动Broker

在bin目录下有mqborker脚本,用该脚本启动。
注意ip地址不要使用localhost,应该用你服务器的外网ip,否则发消息时会报错
nohup sh mqbroker -n 外网ip:9876 &

关闭RocketMQ

sh mqshutdown namesrv
sh mqshutdown broker

发送消息

开两个窗口

1.添加临时环境变量

export NAMESRV_ADDR=loaclhost:9876

2.在bin目录下发送消息

sh tools.sh org.apache.rocketmq.example.quickstart.Producer

3.在bin目录下接收消息

sh tools.sh org.apache.rocketmq.example.quickstart.Consumer

遇到的问题

阿里云已经开放9876端口,却无法从外部网络发送消息

因为没有开放10911端口,这是borker的端口号。

开放了10911端口,还是无法发送消息

borker默认配的是阿里云服务器内网地址,需要修改配置文件

前往conf目录下
vim broker.conf

最下面添加配置
brokerIP1=外网地址

发送消息时,提示无法连接到内网ip的10911接口,但测试端口号可以访问

启动broker的时候不能使用
nohup sh mqbroker -n localhost:9876 &

应该指定外网ip来启动broker
nohup sh mqbroker -n 外网ip:9876 &

RocketMQ的网页控制台无法查看消息

需要开放broker的10909端口

10909是vip通道10911是非vip通道。

Tag消息消费失败

一个Group下的所有消费者的消费逻辑必须一致,就是说,一个Group下消费的Tag属性必须一样,否则会导致消费失败。

相关推荐
Danileaf_Guo5 小时前
256台H100服务器算力中心的带外管理网络建设方案
运维·服务器
拾贰_C7 小时前
【Linux | Windows | Terminal Command】 Linux---grep | Windows--- findstr
linux·运维·服务器
虹科网络安全8 小时前
艾体宝洞察 | 利用“隐形字符”的钓鱼邮件:传统防御为何失效,AI安全意识培训如何补上最后一道防线
运维·网络·安全
石像鬼₧魂石8 小时前
Kali Linux 网络端口深度扫描
linux·运维·网络
alengan8 小时前
linux上面写python3日志服务器
linux·运维·服务器
yBmZlQzJ9 小时前
免费内网穿透-端口转发配置介绍
运维·经验分享·docker·容器·1024程序员节
JH30739 小时前
docker 新手入门:10分钟搞定基础使用
运维·docker·容器
小卒过河01049 小时前
使用apache nifi 从数据库文件表路径拉取远程文件至远程服务器目的地址
运维·服务器·数据库
土星云SaturnCloud10 小时前
液冷“内卷”:在局部优化与系统重构之间,寻找第三条路
服务器·人工智能·ai·计算机外设