云服务器安装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属性必须一样,否则会导致消费失败。

相关推荐
桌面运维家7 小时前
IDV云桌面vDisk机房网络管控访问限制部署方案
运维·服务器·网络
ShineWinsu7 小时前
对于Linux:动静态库的制作与原理的解析—下
linux·运维·服务器·进程·链接·虚拟地址空间·
RH2312118 小时前
2026.4.16Linux 管道
java·linux·服务器
handler019 小时前
Linux: 基本指令知识点(2)
linux·服务器·c语言·c++·笔记·学习
Web极客码9 小时前
深入了解WordPress网站访客意图
服务器·前端·wordpress
KKKlucifer9 小时前
国内堡垒机如何打通云网运维安全一体化
运维·安全
橙子也要努力变强9 小时前
Linux信号机制
linux·服务器·网络
wydd99_lll10 小时前
docker特权模式下逃逸
运维·docker·容器
pengyi87101510 小时前
私网IP映射公网基础原理,搭配代理IP远程访问入门
linux·服务器·网络
mseaspring11 小时前
一款用于监控跨多台主机 Docker 容器的实时终端
运维·docker·容器