RocketMQ安装部署 (Linux)

简介: RocketMQ安装部署 (Linux)

1.检查java环境

RocketMQ是使用Java开发的,所以需要在Linux系统内安装JDK环境。主要有下面几个步骤:

  • a. 从官网下载JDK1.8: Java Downloads | Oracle
  • b. 将下载好的JDK安装包上传到Linux服务器中并解压缩,笔者这里是/java目录下

网络异常,图片无法展示
|

  • c. 解压缩完成后,会生成对应的【jdk1.8.0_321】目录,里面存放的是相关文件。假设这里我们将jdk安装在usr/java目录,那么我们需要将解压后的【jdk1.8.0_321】里面的所有数据移动到usr/java目录:

网络异常,图片无法展示
|

  • d. 修改环境变量

网络异常,图片无法展示
|

用vim编辑器来编辑profile文件,在文件末尾添加以下内容(按“i”进入编辑):

网络异常,图片无法展示
|

配置完使用:wq保存成后,我们通过命令source /etc/profile让profile文件立即生效:

网络异常,图片无法展示
|

  • e. 测试是否安装成功

网络异常,图片无法展示
|

2.安装RocketMQ

(1)、下载RocketMQ,这里我们以目前最新版本4.9.2为例,官网下载地址为:Apache Download Mirrors。这里我们直接下载编译好的二进制安装包,所以可以省去自己手动编译的过程,即【mvn -Prelease-all -DskipTests clean install -U】。

(2)、将下载好的rocketmq-all-4.9.2-bin-release.zip上传到Linux中。

(3)、解压rocketmq-all-4.9.2-bin-release.zip文件

网络异常,图片无法展示
|

网络异常,图片无法展示
|

(4)、解压缩完成后,会生成【rocketmq-4.9.2】目录。进入【rocketmq-4.9.2】目录,然后我们修改broker.conf配置文件,追加下面两行配置:

网络异常,图片无法展示
|

网络异常,图片无法展示
|

(5)、修改启动参数

这一步非必须,由于笔者使用的虚拟机,内存不太够,如果读者朋友觉得内存够的话,可以不修改。不过如果内存不够的话,启动broker也会报内存不足的错误。

我们需要两个启动脚本:runserver.sh 和 runbroker.sh

网络异常,图片无法展示
|
如下图,调整JAVA_OPT的内存大小:

网络异常,图片无法展示
|

网络异常,图片无法展示
|

3.启动RocketMQ

启动RocketMQ包括启动NameServer和Broker,先启动NameServer:

[admin@admin /]$ cd /rocketmq/rocketmq-4.9.2/
[admin@admin rocketmq-4.9.2]$ nohup sh bin/mqnamesrv -n 10.0.90.59:9876 &
[1] 4796
[admin@admin rocketmq-4.9.2]$ nohup: ignoring input and appending output to ‘nohup.out’
复制代码

查看NameServer是否启动成功:

[admin@admin rocketmq-4.9.2]$ tail -f ~/logs/rocketmqlogs/namesrv.log
2022-02-15 14:47:00 INFO main - tls.client.keyPassword = null
2022-02-15 14:47:00 INFO main - tls.client.certPath = null
2022-02-15 14:47:00 INFO main - tls.client.authServer = false
2022-02-15 14:47:00 INFO main - tls.client.trustCertPath = null
2022-02-15 14:47:00 INFO main - Using JDK SSL provider
2022-02-15 14:47:02 INFO main - SSLContext created for server
2022-02-15 14:47:02 INFO main - Try to start service thread:FileWatchService started:false lastThread:null
2022-02-15 14:47:02 INFO NettyEventExecutor - NettyEventExecutor service started
2022-02-15 14:47:02 INFO main - The Name Server boot success. serializeType=JSON
2022-02-15 14:47:02 INFO FileWatchService - FileWatchService service started
[admin@admin rocketmq-4.9.2]$ jps
4817 NamesrvStartup
4853 Jps
复制代码

可以看到,The Name Server boot success...,说明 Name Server启动成功,并且通过jps也能查到这个NamesrvStartup进程。

然后再启动Broker:

[admin@admin /]$ cd /rocketmq/rocketmq-4.9.2/
[admin@admin rocketmq-4.9.2]$ nohup sh bin/mqbroker -n 10.0.90.59:9876 -c conf/broker.conf autoCreateTopicEnable=true & 
[1] 4902
[admin@admin rocketmq-4.9.2]$ nohup: ignoring input and appending output to ‘nohup.out’
复制代码

查看Broker是否启动成功:

[admin@admin rocketmq-4.9.2]$ tail -f ~/logs/rocketmqlogs/broker.log 
2022-02-15 14:51:17 INFO main - Try to start service thread:FileWatchService started:false lastThread:null
2022-02-15 14:51:17 INFO FileWatchService - FileWatchService service started
2022-02-15 14:51:17 INFO main - Try to start service thread:PullRequestHoldService started:false lastThread:null
2022-02-15 14:51:17 INFO PullRequestHoldService - PullRequestHoldService service started
2022-02-15 14:51:17 INFO main - Try to start service thread:TransactionalMessageCheckService started:false lastThread:null
2022-02-15 14:51:17 INFO brokerOutApi_thread_1 - register broker[0]to name server 10.0.90.59:9876 OK
2022-02-15 14:51:17 INFO main - The broker[admin.com, 10.0.90.59:10911] boot success. serializeType=JSON and name server is 10.0.90.59:9876
2022-02-15 14:51:26 INFO BrokerControllerScheduledThread1 - dispatch behind commit log 0 bytes
2022-02-15 14:51:26 INFO BrokerControllerScheduledThread1 - Slave fall behind master: 191890 bytes
2022-02-15 14:51:27 INFO brokerOutApi_thread_2 - register broker[0]to name server 10.0.90.59:9876 OK
复制代码

可以看到,The broker[admin.com, 10.0.90.59:10911] boot success,Broker也启动成功。通过jps也能查询到对应的进程:

[admin@admin rocketmq-4.9.2]$ jps
4817 NamesrvStartup
4993 Jps
4910 BrokerStartup
复制代码

至此,RocketMQ就启动成功了,下面我们简单测试一下消息的发送以及消息的消费。

4.测试消息发送和消费

  • (1)、发送消息
[admin@admin rocketmq-4.9.2]$ export NAMESRV_ADDR=10.0.90.59:9876
[admin@admin rocketmq-4.9.2]$ sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
复制代码

网络异常,图片无法展示
|

可以看到,消息发送成功。

  • (2)、消费消息
[admin@admin rocketmq-4.9.2]$ export NAMESRV_ADDR=10.0.90.59:9876
[admin@admin rocketmq-4.9.2]$ sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
复制代码

网络异常,图片无法展示
|

可以看到,客户端成功接收到消息,进行消费。

五、关闭RocketMQ

关闭RocketMQ的时候,需要先先关闭Broker,然后再关闭Name Server。

  • (1)、关闭Broker
[admin@admin rocketmq-4.9.2]$ sh bin/mqshutdown broker
The mqbroker(4910) is running...
Send shutdown request to mqbroker(4910) OK
复制代码
  • (2)、关闭Name Server
The mqnamesrv(4817) is running...
Send shutdown request to mqnamesrv(4817) OK
[1]+  Exit 143                nohup sh bin/mqbroker -n 10.0.90.59:9876 autoCreateTopicEnable=true
复制代码

6.可视化管理页面安装

(1)、下载可视化管理页面插件,并上传到服务器中,然后解压缩

下载地址:github.com/rocketmq/ro…

网络异常,图片无法展示
|
   [admin@admin rocketmq]$ unzip rocketmq-externals-master.zip    

网络异常,图片无法展示
|
解压缩完成后,会生成一个【rocketmq-externals-master】目录。

(2)、修改配置文件

[admin@admin rocketmq-externals-master]$ cd /rocketmq/rocketmq-externals-master/rocketmq-console/
[admin@admin rocketmq-console]$ ll
total 52
drwxrwxr-x. 3 admin admin    19 Mar 23  2018 doc
-rw-rw-r--. 1 admin admin 29843 Mar 23  2018 LICENSE
-rw-rw-r--. 1 admin admin   176 Mar 23  2018 NOTICE
-rw-rw-r--. 1 admin admin 11424 Mar 23  2018 pom.xml
-rw-rw-r--. 1 admin admin  2169 Mar 23  2018 README.md
drwxrwxr-x. 4 admin admin    30 Mar 23  2018 src
drwxrwxr-x. 3 admin admin    74 Mar 23  2018 style
[admin@admin rocketmq-console]$ vim src/main/resources/application.properties
复制代码

主要是修改端口号和配置RocketMQ NameServer的地址:

网络异常,图片无法展示
|

(3)、手动打包生成可运行的Jar文件

进入rocketmq-console,跳过测试并打包:

[admin@admin rocketmq-console]$ pwd
/rocketmq/rocketmq-externals-master/rocketmq-console
[admin@admin rocketmq-console]$ mvn clean package -Dmaven.test.skip=true
复制代码

打包完成后,在target目录下回生成一个可执行的Jar文件,如下图:

网络异常,图片无法展示
|
img-blog.csdnimg.cn/img_convert…(4)、启动可视化页面

[admin@admin target]$ java -jar rocketmq-console-ng-1.0.0.jar
复制代码

查看启动日志:

网络异常,图片无法展示
|

(5)、访问可视化页面

启动成功后,浏览器访问:http://10.0.90.59:1111/#/

网络异常,图片无法展示
|

可以看到,RocketMQ可视化管理页面就搭建成功了。至此,RocketMQ单机版的安装就安装成功了,接下来就可以愉快地学习RocketMQ啦。

七、遇到的问题 (1)、防火墙问题 读者朋友可以开放RocketMQ对应的端口监听,当然也可以直接关闭Centos的防火墙。

(2)、内存不足问题 修改bin目录下的runserver.sh和runbroker.sh两个文件中的JAVA_OPT启动参数的内存配置,调小一些即可。

(3)、启动Broker失败 检查broker.conf配置文件是否配置了NameServer的地址等,或者查看具体的日志看下什么原因。


作者:菜的像白纸啊

链接:https://juejin.cn/post/7145285896324481031

来源:稀土掘金

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

相关实践学习
快速体验阿里云云消息队列RocketMQ版
本实验将带您快速体验使用云消息队列RocketMQ版Serverless系列实例进行获取接入点、创建Topic、创建订阅组、收发消息、查看消息轨迹和仪表盘。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
4月前
|
Ubuntu Linux
计算机基础知识:linux系统怎么安装?
在虚拟机软件中创建一个新的虚拟机,并选择相应操作系统类型和硬盘空间大小等参数。将下载的 ISO 镜像文件加载到虚拟机中。启动虚拟机,进入安装界面,并按照步骤进行安装。安装完成后,可以在虚拟机中使用 Linux 系统。
|
4月前
|
Ubuntu Linux
任何Ubuntu用户都应安装的四大Linux应用程序
当然,这款程序不需要太多介绍。我们面对的是网上最庞大最完整的多媒体中心,由于丰富的插件,我们能够高度细化地定制其每一项功能。这是我们的Linux发行版不可或缺的必备软件。 我们可以通过运行以下命令来轻松安装Kodi:sudo apt install kodi。
|
4月前
|
Ubuntu 物联网 Linux
从零安装一个Linux操作系统几种方法,以Ubuntu18.04为例
一切就绪后,我们就可以安装操作系统了。当系统通过优盘引导起来之后,我们就可以看到跟虚拟机中一样的安装向导了。之后,大家按照虚拟机中的顺序安装即可。 好了,今天主要介绍了Ubuntu Server版操作系统的安装过程,关于如何使用该操作系统,及操作系统更深层的原理,还请关注本号及相关圈子。
|
4月前
|
Ubuntu Linux 网络安全
Linux服务器之Ubuntu的安装与配置
Ubuntu Desktop是目前最成功、最流行的图形界面的Linux发行版;而Ubuntu Server也在服务器端市场占据了较大的份额。今天为大家详细介绍了Ubuntu Server的安装与配置,希望对你能有所帮助。关于VMware、VirtualBox等虚拟化软件的使用,朱哥还会在后续的文章中为大家详细介绍,敬请关注!
|
2月前
|
安全 Linux iOS开发
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
196 6
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
|
5月前
|
Linux 网络安全 Apache
针对在Centos/Linux安装Apache过程中出现的常见问题集锦
以上每个问题的解决方案应深入分析错误日志、系统消息和各种配置文件,以找到根本原因并加以解决。务必保持系统和Apache软件包更新到最新版本,以修复已知的bugs和安全漏洞。安装和管理Web服务器是一项需要细致关注和不断学习的任务。随着技术的发展,推荐定期查看官方文档和社区论坛,以保持知识的更新。
255 80
|
2月前
|
消息中间件 Kafka Linux
Linux下安装Kafka 3.9.1
本文介绍Kafka 3.9.1版本的安装与配置,包括通过ZooKeeper或KRaft模式启动Kafka。涵盖环境变量设置、日志路径修改、集群UUID生成、存储格式化及服务启停操作,适用于Linux环境下的部署实践。
316 0
|
4月前
|
网络协议 关系型数据库 Linux
【App Service Linux】在Linux App Service中安装 tcpdump 并抓取网络包
在App Service for Linux环境中,无法像Windows一样直接使用网络排查工具抓包。本文介绍了如何通过TCPDUMP在Linux环境下抓取网络包,包括SSH进入容器、安装tcpdump、执行抓包命令及下载分析文件的完整操作步骤。
228 5
|
4月前
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。