当前位置: 首页 > 图灵资讯 > 技术篇> RocketMQ5.x教程-安装RocketMQ

RocketMQ5.x教程-安装RocketMQ

来源:图灵教育
时间:2024-01-17 11:33:18
 

安装RocketMQ

3.1.安装前需要准备一个CentOS7的Linux机器,使用的Linux版本如下:

[root@localhost bin]# uname -a

3.2.安装JDK

推荐使用JDK1.8版本。可以使用课件资料包或者自行下载tar.gz包。

1.统一规划目录,创建app文件夹,在创建jdk文件夹,将jdk的包上载到 /app/jdk目录下然后解压

[root@localhost /]# cd ..
[root@localhost /]# mkdir app
[root@localhost /]# cd app/
[root@localhost app]# mkdir jdk
[root@localhost app]# cd jdk/
[root@localhost jdk]# tar -zxvf jdk-8u171-linux-x64.tar.gz

2.配置jdk环境变量,将JAVA_HOME变量加上;将path路径替换成相应配置

[root@localhost jdk]# vi /etc/profile
#jdk解压后的目录路径
export JAVA_HOME=/app/jdk/jdk1.8.0_171/  
PATH=$JAVA_HOME/bin:$PATH:$HOME/.local/bin:$HOME/bin

3.更新配置并查看jdk版本,显示以下信息则安装成功。

[root@localhost jdk]# source /etc/profile
[root@localhost jdk]# java -version

3.3.安装RocketMQ

3.3.1.将安装包上载到 /app/rocketMQ目录下

#先在app目录下创建rocketMQ文件夹
[root@localhost jdk]# cd ..
[root@localhost app]# mkdir rocketMQ

#将bin上载到/app/rocketMQ目录然后解压(也可以先解压在上载,推荐先上载后解压)
[root@localhost app]# cd rocketMQ/
[root@localhost rocketMQ]# unzip rocketmq-all-5.1.0-bin-release.zip

3.3.2.配置rocketMQ环境变量

#将ROCKETMQ_HOME变量加上,在path路径加上$ROCKETMQ_HOME/bin:
[root@localhost rocketMQ]# vi /etc/profile
#rocketMQ路径
export ROCKETMQ_HOME=/app/rocketMQ/rocketmq-all-5.1.0-bin-release
export PATH=$ROCKETMQ_HOME/bin:$JAVA_HOME/bin:$PATH:$HOME/.local/bin:$HOME/bin
#namesrv后续broker会使用到,先加上
export NAMESRV_ADDR='worker1:9876;worker2:9876;worker3:9876'

3.3.3.更新配置

[root@localhost rocketMQ]# source /etc/profile

ROCKETMQ_HOME的环境变量是必须要单独配置的,如果不配置的话,启动NameSever和Broker都会报错。这个环境变量的作用是用来加载$ROCKETMQ_HOME/conf下的除broker.conf以外的几个配置文件。所以实际情况中,可以不按这个配置,但是一定要能找到配置文件。这样RocketMQ就安装完成了。

3.4.RocketMQ工作原理

官网5.0版本速览链接:https://rocketmq.apache.org/zh/version/

RocketMQ5.0 引入了全新的弹性无状态代理模式,将当前的Broker职责进行拆分,对于客户端协议适配、权限管理、消费管理等计算逻辑进行抽离,独立无状态的代理角色提供服务,Broker则继续专注于存储能力的持续优化。值得注意的是RocketMQ 5.0的全新模式是和4.0的极简架构模式相容相通的,5.0的代理架构完全可以以Local模式运行,实现与4.0架构完全一致的效果。开发者可以根据自身的业务场景自由选择架构部署,本教程也是部署的Local模式。

RocketMQ启动流程如下:

      • 启动NameServer
      • 启动Broker

3.5.NameServer服务搭建

启动NameServer非常简单,在$ROCKETMQ_HOME/bin目录下有个mqnamesrv。直接执行这个脚本就可以启动RocketMQ的NameServer服务。

由于RocketMQ默认预设的JVM内存是4G,这是RocketMQ给我们的最佳配置。但是通常我们用虚拟机的话都是不够4G内存的,所以需要调整下JVM内存

大小。修改的方式是直接修改runserver.sh。

3.5.1.修改NameServer启动配置

[root@localhost rocketMQ]# cd rocketmq-all-5.1.0-bin-release/bin/
[root@localhost bin]# vi runserver.sh
#将JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g 修改为 -server -Xms512m -Xmx512m -Xmn256m

3.5.2.启动NameServer

NameServer的配置修改完成,然后我们用静默启动的方式启动NameServer服务,启动完成后在nohup.out里看到这一条关键日志就是启动成功。并且使用jps指令可以看到有一个NamesrvStartup进程

#静默启动
[root@localhost bin]# nohup ./mqnamesrv &
#查看日志
[root@localhost bin]# tail -f nohup.out 

3.6.Broker服务搭建

启动Broker的脚本是runbroker.sh。Broker的默认预设内存是8G,启动前,如果内存不够,同样需要调整下JVM内存。修改的方式是直接修改runbroker.sh。

3.6.1.修改broker启动脚本配置

[root@localhost bin]# vi runbroker.sh
#将JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g" 修改为 JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m"

3.6.2.修改broker配置文件

#修改broker资源配置文件,允许自动创建Topic
[root@localhost bin]# cd ../conf/
[root@localhost conf]# vi broker.conf
#允许自动创建topic
autoCreateTopicEnable=true
#添加nameserver地址
namesrvAddr=localhost:9876

3.6.3.启动broker服务

Broker的配置修改完成,然后我们用静默启动的方式启动Broker服务,同样是检查nohup.out日志, 并且jps指令可以看到一个BrokerStartup进程。

1.回到bin目录下,静默启动broker
[root@localhost conf]# cd ../bin
[root@localhost bin]# nohup ./mqbroker -c ../conf/broker.conf &
2.查看日志,显示如下即显示成功*********每次启动broker时都要关注是否注册到目标nameserver上(name server is worker1:9876)
[root@localhost bin]# tail -f nohup.out 
[root@localhost bin]# jps

3.7.测试RocketMQ消息发送与消费

在RocketMQ的安装包中,提供了一个tools.sh工具可以用来在命令行快速验证RocketMQ服务。

1.我们在bin录下执行以下命令测试消息发送,默认会发1000条消息,发送完成自动关闭

[root@localhost bin]# export NAMESRV_ADDR='localhost:9876'
[root@localhost bin]# ./tools.sh org.apache.rocketmq.example.quickstart.Producer

2.出现以下提示则代表消息发送成功

3.执行以下命令测试消息接收,Consumer执行不会自动关闭,会一直挂起等待新消息过来;

[root@localhost bin]# export NAMESRV_ADDR='localhost:9876'
[root@localhost bin]# ./tools.sh org.apache.rocketmq.example.quickstart.Consumer

4.出现以下提示则代表消息接收成功

3.8.关闭RocketMQ服务

在bin目录下通过脚本关闭服务:

1.关闭Broker

sh ./mqshutdown broker

2.关闭NameServer

sh ./mqshutdown namesrv

3.查看服务

至此RockMQ单机测试成功,接下来搭建集群。