RocketMQ Linux 安装配置

Linux安装

1、准备工作

下载RocketMQ

截止教程发布日期,RocketMQ最新版本:4.7.1 下载地址

可以直接点击上面下载地址下载到本地然后上传到Liunx上 ,或者也可以直接使用wget命令在Linux上下载

环境要求
  • Linux64位系统

  • JDK1.8(64位)

  • 源码安装需要安装Maven 3.2.x

2、安装RocketMQ

安装步骤

本教程以二进制包方式安装

  1. 解压安装包
  2. 进入安装目录
#下载rocketmq到Linux上
wget https://downloads.apache.org/rocketmq/4.7.1/rocketmq-all-4.7.1-bin-release.zip
#解压文件,解压成功后会在当前目录下生成rocketmq-all-4.7.1-bin-release文件夹
unzip rocketmq-all-4.7.1-bin-release.zip 
#将rocketmq-all-4.7.1-bin-release文件夹重命名为rocketmq-4.7.1并移动到/usr/local/下
mv rocketmq-all-4.7.1-bin-release /usr/local/rocketmq-4.7.1
#进入到安装目录
/usr/local/rocketmq-4.7.1
目录介绍

进入到安装目录我们就可以看到如下文件目录

  • bin:启动脚本,包括shell脚本和CMD脚本
  • conf:实例配置文件 ,包括broker配置文件、logback配置文件等
  • lib:依赖jar包,包括Netty、commons-lang、FastJSON等

3、 启动RocketMQ

启动NameServer

进入到rocketmqden安装目录下的bin目录,执行以下命令:

# 1.启动NameServer,并让其在后台运行,这一步自行成功后会在当前目录下生成nohup.out文件
[root@localhost bin]# nohup sh mqnamesrv &
[1] 3301
#使用Java的jps命令只要可以看到NamesrvStartup这个线程就说明启动成功了
[root@localhost bin]# jps
3307 NamesrvStartup
3326 Jps

# 2.查看启动日志
tail -f ~/logs/rocketmqlogs/namesrv.log

启动成功之后NameServer就默认监听端口:9876

nettyServerConfig.setListenPort(9876);
启动Broker:消息中转角色,负责存储消息,转发消息
# 1.启动Broker
root@localhost bin]# nohup sh  mqbroker -n localhost:9876 &
[2] 3913
[root@localhost bin]# jps
3920 BrokerStartup
3927 Jps
3307 NamesrvStartup

# 2.查看启动日志
tail -f ~/logs/rocketmqlogs/broker.log 

有关问题:在启动Broker中的时候,如果咱们的机器内存比较小的话,RocketMQ默认的虚拟机内存较大,启动Broker会因为内存不足失败,如下图所示:

这时需要我们需要编辑如下两个配置文件,修改JVM内存大小

# 编辑runbroker.sh和runserver.sh修改默认JVM大小
vi runbroker.sh
vi runserver.sh
  • 参考设置:

runserver.sh

runbroker.sh

4、测试RocketMQ

接下来,我们测试一下我们安装的RocketMQ能否正常收发信息,我们需要首先开启两个虚拟机窗口,其中一个是发消息的,一个是收消息的:

在发送/接收消息之前,我们需要告诉客户端name servers的位置。 RocketMQ提供了多种方法来实现这一目标。 为简单起见,我们使用环境变量NAMESRV_ADDR

发送消息
# 1.设置环境变量
export NAMESRV_ADDR=localhost:9876
# 2.使用安装包的Demo发送消息
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

看到在刷刷的打印信息,就说明发送消息没有问题

接收消息
# 1.设置环境变量
export NAMESRV_ADDR=localhost:9876
# 2.接收消息
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

执行完上边的命令,接收者就开始接收刚才发送端发出的信息,如下图所示:

关闭RocketMQ
# 1.关闭NameServer
sh bin/mqshutdown namesrv
# 2.关闭Broker
sh bin/mqshutdown broker

参考

留言区

还能输入500个字符