RocketMQ安装-中间件专区论坛-技术-SpringForAll社区

RocketMQ安装

Linux安装

环境说明

对于 RocketMQ 4.3.0版本,官方要求环境如下,其中 Git 用于从 GitHub 获取源码,没有安装也没关系,可以直接下载。 官方推荐的流程是:Linux 系统上安装 Git 工具 、Maven、Java JDK Git 工具用于直接从 GitHub 获取 RocketMQ 项目源码下载到 Linux 系统上 然后 Maven 将 RocketMQ 源码进行编译成二进制文件 安装了 Java JDK 就可以运行 RocketMQ 了

JDK和RocketMQ 版本说明

在这里插入图片描述

RocketMQ 下载

可以从apache的文件库下载 https://archive.apache.org/dist/rocketmq/这里我们选择最新版 在这里插入图片描述

RocketMQ 安装

1、项目解压

unzip rocketmq-all-4.7.1-bin-release.zip -d /usr/local/rocketmq

2、修改RocketMQ启动配置 修改目录/usr/local/rocketmq/rocketmq-all-4.7.1-bin-release/bin下的 3 个配置文件: runserver.shrunbroker.shtools.sh不然会报insufficient memory

设置 runserver.sh 中此项配置

JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

在这里插入图片描述 在这里插入图片描述

设置 runbroker.sh 中此项配置

JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"

设置 tools.sh 中此项配置

JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn256m -XX:PermSize=128m -XX:MaxPermSize=128m"

修改broker.conf文件

vim ./conf/broker.conf

添加如下两行配置 在这里插入图片描述

不配置这个用客户端去连接的话会报错

RocketMQ 启动

启动 NameServer 进入 RocketMQ 安装目录下的/usr/local/rocketmq/rocketmq-all-4.7.1-bin-release目录进行操作。

执行命令启动NameServer

nohup sh bin/mqnamesrv &

在这里插入图片描述

nohup sh mqnamesrv & :属于后台启动 sh mqnamesrv :属于终端启动,直接输出日志信息,按 ctrl+c 可直接关闭退出

查看启动状态 在当前目录下会有一个 nohup.out 的日志文件,可以打开查看 namesrv 的启动情况。如下所示,看到 The Name Server boot success.serializeType=JSON 表示启动成功

启动 Broker 同样进入 RocketMQ 安装目录下的/usr/local/rocketmq/rocketmq-all-4.7.1-bin-release 目录进行操作

# 启动命令,并且常驻内存:注意ip地址要配置成为服务的ip地址,保证地址以及端口能够访问。并且指定配置文件启动 nohup sh bin/mqbroker -n 192.168.80.16:9876 -c ./conf/broker.conf &

nohup sh bin/mqbroker -n 192.168.64.144:9876 & :属于后台启动

sh bin/mqbroker -n 192.168.64.144:9876:属于终端启动,直接输出日志信息,按 ctrl+c 可直接关闭退出

查看启动状态 同样去看nohup.out 文件,看到下图所示即启动成功: 在这里插入图片描述

发送消息

发送/接收消息之前,需要告诉客户端(Producer、Consumer)名称服务器的位置,RocketMQ 提供了多种方法来实现这一点:

  1. 编程方式,如:producer.setNamesrvAddr(“ip:port”)

  2. Java 选项,如:rocketmq.namesrv.addr

  3. 环境变量,如:NAMESRV_ADDR

  4. HTTP 端点

如下所示官方提供这个例子属于生产者,用于发送消息,运行之后会发送大量的消息,之后就会退出。注意,在安装目录/usr/local/rocketmq/rocketmq-all-4.7.1-bin-release 进行操作

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

在这里插入图片描述

接收消息

上面的消息发送完毕之后就会退出,在同一窗口中可以使用消费者类来进行接收消息,如下所示,显然是多线程的

[root@localhost rocketmq-all-4.7.1-bin-release]# sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

下图可以看到接收到了消息 在这里插入图片描述

关闭服务器

同样都是在 RocketMQ 安装目录下的 distribution/target/apache-rocketmq 目录下执行命令

与启动顺序相反进行关闭,先关闭 broker、在关闭 nameserv

> sh bin/mqshutdown broker The mqbroker(36695) is running... Send shutdown request to mqbroker(36695) OK > sh bin/mqshutdown namesrv The mqnamesrv(36664) is running... Send shutdown request to mqnamesrv(36664) OK

请登录后发表评论

    没有回复内容