安装配置rocketmq(代码片段)

java_wxid java_wxid     2022-11-28     747

关键词:

文章目录

安装与配置RocketMQ

gitCode分享

RocketMQ源码版本下载地址:

https://gitcode.net/java_wxid/rocketmq-all-4.7.1-source-release/-/tree/master

Rocketmq控制台下载地址:

https://gitcode.net/java_wxid/rocketmq-externals-master/-/tree/master/rocketmq-console

百度网盘分享

RocketMQ运行版本下载地址:
链接:https://pan.baidu.com/s/1mqfO8bpQs0yTnX6oeOsPCA?pwd=2022
提取码:2022
RocketMQ源码版本下载地址:
链接:https://pan.baidu.com/s/1NbgSuv89uSgtYALRzSYr0w?pwd=2022
提取码:2022

官方下载地址

RocketMQ运行版本下载地址:
https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.7.1/rocketmq-all-4.7.1-bin-release.zip
RocketMQ源码版本下载地址:
https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.7.1/rocketmq-all-4.7.1-source-release.zip

安装配置

查看linux版本

uname -a

创建一个操作用户

用来运行自己的程序,与root用户区分开。使用root用户创建一个oper用户,并给他创建一个工作目录,设置用户密码

useradd liaozhiwei
passwd liaozhiwei
mkdir /opt/rocketmq
cd /opt/rocketmq
chown liaozhiwei:liaozhiwei /opt/rocketmq

运行RocketMQ需要先安装JDK。我们采用目前最稳定的JDK1.8版本。可以自行去Oracle官网上下载也可以使用我从官网拉下来的jdk版本。
链接:https://pan.baidu.com/s/10YA9SBV7Y6TKJ9keBrNVWw?pwd=2022
提取码:2022
然后用FTP或者WSP上传到liaozhiwei用户的工作目录下。由liaozhiwei用户解压到/opt/jdk目录下。

tar -zxvf jdk-8u301-linux-x64.tar.gz

继续上传RocketMQ到/opt/rocketmq目录下,由于我们上传的包是zip的包,解压需要通过解压工具,所以我们安装一个

yum install unzip zip

然后解压

unzip rocketmq-all-4.7.1-bin-release.zip

配置环境变量。使用vim /etc/profile编辑文件,在文件尾部添加以下内容

###java环境配置
export JAVA_HOME=/opt/jdk
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=./:JAVA_HOME/lib:$JRE_HOME/lib
###RocketMQ环境配置
export ROCKETMQ_HOME=/opt/rocketmq
###path
export PATH=/bin:/usr/bin:/sbin:/usr/sbin:$JAVA_HOME/bin:$ROCKETMQ_HOME/bin:$PATH

编辑完成后,通过:wq保存退出,执行source /etc/profile让环境变量生效。输入java -version能查看到以下内容表明JDK安装成功了。
ROCKETMQ_HOME的环境变量是必须要单独配置的,如果不配置的话,启动NameSever和Broker都会报错。
这个环境变量的作用是用来加载$ROCKETMQ_HOME/conf下的除broker.conf以外的几个配置文件。所以实际情况中,可以不按这个配置,但是一定要能找到配置文件。

启动NameServer

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

但是要注意,RocketMQ默认预设的JVM内存是4G,这是RocketMQ给我们的最佳配置。但是通常我们用虚拟机的话都是不够4G内存的,所以需要调整下JVM内存大小。修改的方式是直接修改runserver.sh。 用

vim /opt/rocketmq/bin/runserver.sh

编辑这个脚本,修改jdk配置的路径,同时在脚本中找到这一行调整内存大小为512M

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

授权

chmod 777 /opt/rocketmq/bin/mqnamesrv

然后我们用静默启动的方式启动NameServer服务:

nohup /opt/rocketmq/bin/mqnamesrv > /opt/rocketmq/nameServerLog 2>&1 &

启动完成后,在nohup.out里看到这一条关键日志就是启动成功了。并且使用jps指令可以看到有一个NamesrvStartup进程。

cat /opt/rocketmq/nameServerLog

主要尽量将文件夹的名字进行调整,不用多余的特殊字符

启动Broker

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

vim /opt/rocketmq/bin/runbroker.sh

找到这一行,进行内存调整

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

然后我们需要找到$ROCKETMQ_HOME/conf/broker.conf, vim指令进行编辑,在最下面加入一个配置:

vim /opt/rocketmq/conf/broker.conf
brokerClusterName=rocketmq-cluster
brokerName=broker-a
brokerId=0
namesrvAddr=192.168.160.128:9876
brokerIP1 = 192.168.160.128
defaultTopicQueueNums=4
autoCreateTopicEnable=true
autoCreateSubscriptionGroup=true
listenPort=10911
deleteWhen=04
fileReservedTime=120
mapedFileSizeCommitLog=1073741824
mapedFileSizeConsumeQueue=300000
destroyMapedFileIntervalForcibly=120000
redeleteHangedFileInterval=120000
diskMaxUsedSpaceRatio=88
storePathRootDir=/opt/rocketmq/store
storePathCommitLog=/opt/rocketmq/store/commitlog
storePathConsumeQueue=/opt/rocketmq/store/consumequeue
storePathIndex=/opt/rocketmq/store/index
storeCheckpoint=/opt/rocketmq/store/checkpoint
abortFile=/opt/rocketmq/store/abort
maxMessageSize=65536
flushCommitLogLeastPages=4
flushConsumeQueueLeastPages=2
flushCommitLogThoroughInterval=10000
flushConsumeQueueThoroughInterval=60000
brokerRole=SYNC_MASTER
flushDiskType=SYNC_FLUSH
checkTransactionMessageEnable=false
sendMessageThreadPoolNums=128
pullMessageThreadPoolNums=128

授权

chmod 777 /opt/rocketmq/bin/mqbroker

然后也以静默启动的方式启动runbroker.sh

nohup /opt/rocketmq/bin/mqbroker -c /opt/rocketmq/conf/broker.conf -n 192.168.160.128:9876 > /opt/rocketmq/brokerlog 2>&1 &

启动完成后,同样是检查nohup.out日志,有这一条关键日志就标识启动成功了。 并且jps指令可以看到一个BrokerStartup进程。

查看brokerlog日志文件

cat /opt/rocketmq/brokerlog

在观察runserver.sh和runbroker.sh时,我们还可以查看到其他的JVM执行参数,这些参数都可以进行定制。例如我们观察到一个比较有意思的地方,nameServer使用的是CMS垃圾回收器,而Broker使用的是G1垃圾回收器。

命令行快速验证

在RocketMQ的安装包中,提供了一个tools.sh工具可以用来在命令行快速验证RocketMQ服务。我们在worker2上进入RocketMQ的安装目录:
授权命令

chmod 777 /opt/rocketmq/bin/tools.sh

编辑tool.sh文件

vim /opt/rocketmq/bin/tools.sh

修改jdk配置路径 添加NameServer环境变量

export NAMESRV_ADDR=192.168.160.128:9876

然后启动消息生产者发送消息:默认会发1000条消息

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

我们可以看到发送消息的日志:

这日志中,上面部分就是我们发送的消息的内容。后面两句标识消息生产者正常关闭。

然后启动消息消费者接收消息:

export NAMESRV_ADDR=192.168.160.128:9876
/opt/rocketmq/bin/tools.sh  org.apache.rocketmq.example.quickstart.Consumer

启动后,可以看到消费到的消息。

日志中MessageExt后的整个内容就是一条完整的RocketMQ消息。我们要对这个消息的结构有个大概的了解,后面会对这个消息进行深入的理解。

其中比较关键的属性有:brokerName,queueId,msgId,topic,cluster,tags,body,transactionId。先找下这些属性在哪里。

而这个Consume指令并不会结束,他会继续挂起,等待消费其他的消息。我们可以使用CTRL+C停止该进程。

关闭RocketMQ服务

要关闭RocketMQ服务可以通过mqshutdown脚本直接关闭
授权

chmod 777 /opt/rocketmq/bin/mqshutdown

1.关闭NameServer

sh /opt/rocketmq/bin/mqshutdown namesrv

2.关闭Broker

sh /opt/rocketmq/bin/mqshutdown broker

注意事项:

防火墙端口开放

firewall-cmd --add-port=10911/tcp --permanent
firewall-cmd --add-port=9876/tcp --permanent
firewall-cmd --add-port=10912/tcp --permanent
firewall-cmd --add-port=10909/tcp --permanent
firewall-cmd --reload    

windows下安装rocketmq(代码片段)

RocketMQ安装内容一、RocketMQ环境搭建1.下载RocketMQ2.window的安装配置2.1使用rocketmq-4.5.1.zip解压到指定目录2.2需要配置环境变量ROCKETMQ_HOME3.修改broker的配置文件3.1打开broker.conf文件3.2添加配置4.先启动mqnamesrv5.启动broker6.启动管理控制台... 查看详情

windows下安装rocketmq(代码片段)

RocketMQ安装内容一、RocketMQ环境搭建1.下载RocketMQ2.window的安装配置2.1使用rocketmq-4.5.1.zip解压到指定目录2.2需要配置环境变量ROCKETMQ_HOME3.修改broker的配置文件3.1打开broker.conf文件3.2添加配置4.先启动mqnamesrv5.启动broker6.启动管理控制台... 查看详情

linux下安装rocketmq(代码片段)

RocketMQ安装内容一、在Linux中安装RocketMQ1.安装准备1.1软件下载1.2软件安装2.安装jdk环境3.在Linux中使用RocketMQ3.1上传压缩文件3.2解压缩3.3软件重命名3.4设置环境变量3.5修改启动参数配置3.6修改配置文件4.搭建监控平台总结内容一、在... 查看详情

windows下安装rocketmq(代码片段)

RocketMQ安装内容一、RocketMQ环境搭建1.下载RocketMQ2.window的安装配置2.1使用rocketmq-4.5.1.zip解压到指定目录2.2需要配置环境变量ROCKETMQ_HOME3.修改broker的配置文件3.1打开broker.conf文件3.2添加配置4.先启动mqnamesrv5.启动broker6.启动管理控制台... 查看详情

安装配置rocketmq(代码片段)

文章目录安装与配置RocketMQgitCode分享RocketMQ源码版本下载地址:Rocketmq控制台下载地址:百度网盘分享官方下载地址安装配置查看linux版本创建一个操作用户启动NameServer启动Broker命令行快速验证关闭RocketMQ服务安装与配置Ro... 查看详情

安装配置rocketmq(代码片段)

文章目录安装与配置RocketMQgitCode分享RocketMQ源码版本下载地址:Rocketmq控制台下载地址:百度网盘分享官方下载地址安装配置查看linux版本创建一个操作用户启动NameServer启动Broker命令行快速验证关闭RocketMQ服务安装与配置Ro... 查看详情

rocketmq单台,各种集群,可视化安装步骤(代码片段)

文章目录下载地址安装JDK1.8安装RocketMQ解压配置环境变量方便随时使用MQ命令配置MQ启动内存大小启动rocketmq测试关闭RocketMQRocketMQ可视化界面打包项目运行启动管理界面访问管理界面RocketMQ集群方案双主双从同步-和-异步复制方案... 查看详情

rocketmq安装及集群搭建(代码片段)

...里写自定义目录标题一、下载安装1.下载2.基础概念3.启动RocketMQ二、安装RocketMQconsole1.使用git拉取项目2.修改配置文件3.打包4.启动项目三、搭建双主双从集群1.创建服务器1中的消息存储路径2.修改服务器1配置文件3.创建服务器2中... 查看详情

rocketmq安装(代码片段)

环境jdk1.7+  tomcat7.0+  rocketmq-3.2.6   rocketmq-web-console(控制台)1.上传alibaba-rocketmq-3.2.6.tar.gz文件至/usr/local2.解压tar-zxvfalibaba-rocketmq-3.2.6.tar.gz-C/usr/local3.改名mvalibaba-rocketmqalibaba-rocketmq-3.2.64.映射ln-salibaba-rocketmq-... 查看详情

rocket安装win10(代码片段)

目录一.预备环境RocketMq以及Console下载二.RocketMQ安装与启动1、前提条件:已安装jdk1.8及maven2、将下载下的安装文件解压到本地磁盘3、配置环境变量4、启动三.安装可视化插件1、解压2、修改配置文件3、编译生成jar包4、启动jar工程... 查看详情

保姆级windows下安装rocketmq(附简单小demo)(代码片段)

Windows下安装RocketMQ1、下载RocketMQ2、启动服务3、测试RocketMQ自带功能4、RocketMQ控制台5、编写对应的Java测试Demo1、下载RocketMQ下载地址:https://github.com/apache/rocketmq可选择自己想要的版本进行加载最终你会得到这样一个文件内容2... 查看详情

rocketmq集群搭建及安装rocketmq-console(代码片段)

 RocketMQ集群搭建-4.2.0版本https://juejin.im/post/5a911ea16fb9a0633f0e36a1直接在官网下载的二进制包,编译容易出现问题启动broker,报错:rocketmqCannotallocatememory可根据机器内存大小,配置jvm参数http://www.cnblogs.com/quchunhui/p/8350904.html&n 查看详情

rocketmq安装(代码片段)

一、环境RocketMQ:4.5.1https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.5.1/rocketmq-all-4.5.1-bin-release.zip二、安装下载rocketmq4.5.1wgethttps://archive.apache.org/dist/rocketmq/4.5.1/rocketmq-all-4.5.1-bin-release.zip解压unziprocketmq-all-4.5.1-bin-release.zip-d/optcd/opt/mvro... 查看详情

rocketmq安装(代码片段)

一、环境RocketMQ:4.5.1https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.5.1/rocketmq-all-4.5.1-bin-release.zip二、安装下载rocketmq4.5.1wgethttps://archive.apache.org/dist/rocketmq/4.5.1/rocketmq-all-4.5 查看详情

windows安装rocketmq(代码片段)

简介RocketMQ是由阿里捐赠给Apache的一款低延迟、高并发、高可用、高可靠的分布式消息中间件。经历了淘宝双十一的洗礼。RocketMQ既可为分布式应用系统提供异步解耦和削峰填谷的能力,同时也具备互联网应用所需的海量消息... 查看详情

docker安装rocketmq(代码片段)

安装docker环境安装docker搜索rocketmqdockersearchrocketmq[root@localhost~]#dockersearchrocketmqNAMEDESCRIPTIONSTARSOFFICIALAUTOMATEDrocketmqinc/rocketmqImagerepositoryforApacheRocketMQ40foxiswho/rocketmqrocket 查看详情

rocketmq服务端安装(代码片段)

...为了尽量模拟实际应用场景,我们以集群的方式安装RocketMQ。从RocketMQ的组成中可以知道,RocketMQ包括Producer、Consumer、NameServer和Broker四个部分,但Producer和Consumer属于客户端,所以服 查看详情

linux下安装rocketmq(代码片段)

RocketMQ安装内容一、在Linux中安装RocketMQ1.安装准备1.1软件下载1.2软件安装2.安装jdk环境3.在Linux中使用RocketMQ3.1上传压缩文件3.2解压缩3.3软件重命名3.4设置环境变量3.5修改启动参数配置3.6修改配置文件4.搭建监控平台总结内容一、在... 查看详情