一、RocketMQ 单机安装与启动

1、准备工作

软硬件需求

  • 系统要求是 64 位的,JDK 要求是 1.8 及其以上版本的。
  • 配置 JDK 环境变量

下载 RocketMQ 安装包

将下载的安装包上传到 Linux 并解压。

2、修改初始内存

配置 nameserver 启动空间大小,修改 runserver.sh

如果你的电脑内存大于 8G 的话,可以跳过不用配置,如果不希望占用太大的内存,可以配置。 打开 mq 下面的 runserver.sh

使用 vim 命令打开 bin/runserver.sh 文件。现将这些值修改为如下:

配置参数:

JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

配置 broker 启动空间大小,修改 runbroker.sh

如果你的电脑内存大于 8G 的话,可以跳过不用配置,如果不希望占用太大的内存,可以配置。 打开 mq 下面的 runbroker.sh

使用 vim 命令打开 bin/runbroker.sh 文件。现将这些值修改为如下:

将图中的参数改成

JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m"

相关参数介绍:

-Xmx4g 初始堆大小 4g
-Xms4g 最大堆大小 4g
-Xmn512m 年轻代大小(1.4 or lator)整个JVM内存大小=年轻代大小 + 年老代大小 + 持久代大小。
持久代一般固定大小为64m,所以增大年轻代后,将会减小年老代大小。此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8

3、启动

启动顺序:先启动 nameserver,再启动 broker

启动 NameServer

进入 rocketMq 目录执行下面命令启动 nameserver

# nohup用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。
# &:让命令在后台执行,终端退出后命令仍旧执行

nohup sh bin/mqnamesrv &

tail -f ~/logs/rocketmqlogs/namesrv.log

启动 broker

进入 rocketMq 目录执行下面命令启动 broker

# nohup用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。
# &:让命令在后台执行,终端退出后命令仍旧执行。

nohup sh bin/mqbroker -n localhost:9876 &

tail -f ~/logs/rocketmqlogs/broker.log

4、发送/接收消息测试

在 RocketMQ 中提供一个工具脚本,里面可以模拟发送和接受消息。

发送消息

export NAMESRV_ADDR=localhost:9876

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

接收消息

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

5、关闭 Server

关闭顺序:先关闭 broker,再关闭 nameserver

无论是关闭 name server 还是 broker,都是使用 bin/mqshutdown 命令。

[root@mqOS rocketmq]# sh bin/mqshutdown broker
The mqbroker(1740) is running...
Send shutdown request to mqbroker(1740) OK

[root@mqOS rocketmq]# sh bin/mqshutdown namesrv
The mqnamesrv(1692) is running...
Send shutdown request to mqnamesrv(1692) OK
[2]+ 退出 143 nohup sh bin/mqbroker -n localhost:9876

二、控制台的安装与启动

RocketMQ 有一个可视化的 dashboard,通过该控制台可以直观的查看到很多数据。

1、下载

下载地址:https://github.com/apache/rocketmq-externals/releases

2、修改配置

修改其 src/main/resources 中的 application.properties 配置文件。

  • 原来的端口号为 8080,修改为一个不常用的
  • 指定 RocketMQ 的 name server 地址(使用 ip 或者 host)

3、添加依赖

在解压目录 rocketmq-console 的 pom.xml 中添加如下 JAXB 依赖。

JAXB,Java Architechture for Xml Binding,用于 XML 绑定的 Java 技术,是一个业界标准,是一 项可以根据 XML Schema 生成 Java 类的技术。

    <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>2.3.0</version>
    </dependency>
    <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-impl</artifactId>
        <version>2.3.0</version>
    </dependency>
    <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-core</artifactId>
        <version>2.3.0</version>
    </dependency>
    <dependency>
        <groupId>javax.activation</groupId>
        <artifactId>activation</artifactId>
        <version>1.1.1</version>
    </dependency>

4、打包

在 rocketmq-console 目录下运行 maven 的打包命令。

5、启动

6、访问

posted on 2022-06-30 13:43  格物致知_Tony  阅读(92)  评论(0编辑  收藏  举报