以前都是听说MQ,或者在别人搭建好的基础上去使用,没有自己动手搭建过,就没有更深入去理解。现在机会来啦.啦啦.啦啦啦......
引用自己的CSDN文章
href="https://blog.csdn.net/chenzhong2010/article/details/106699590
或点击左下角“阅读原文”来支持我...φ(0 ̄*)啦啦啦_φ(* ̄0 ̄)>
一、安装配置
1.1、下载
下载地址是http://rocketmq.apache.org/release_notes/release-notes-4.2.0/
打开后显示如图:
点击上图zip进行下载。1.2、安装下载完成后解压该zip文件,并移动到对应的目录下,如:
1.3、配置环境变量
右键“我的电脑”->“属性”->“高级属性”->“环境变量”,新增环境变量
ROCKETMQ_HOME
D:\04_work_installed\01_java_tools\34_Rocketmq_4_2_0\rocketmq-all-4.2.0-bin-release
二、启动NAMESERVER
打开cmd命令窗口,输入命令:
start mqnamesrv.cmd
如上图所述,说明环境变量是正确的,并且NAMESERVER启动成功,此框请不要关闭。
三、启动BROKER
另外打开一个cmd命令窗口,输入命令:
start mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable=true
后续查询broker名称是tiannanIT,名称就是本地电脑名称:
或者
启动带有配置文件的,启动broker时需要加载配置文件,执行命令:
start mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable=true -c D:\04_work_installed\01_java_tools\34_Rocketmq_4_2_0\rocketmq-all-4.2.0-bin-release\conf\broker.conf
后续查询broker名称是broker-a,名称就是broker.conf里面配置的:
配置文件broker.conf默认内容如:
brokerClusterName = DefaultClusterbrokerName = broker-abrokerId = 0deleteWhen = 04fileReservedTime = 48brokerRole = ASYNC_MASTERflushDiskType = ASYNC_FLUSH
cmd运行brocker后:
奇怪,只是弹出了个框,却没有成功提示,不过这样已经是启动broker成功了,此框勿关闭。
【备注】如果光标没有闪烁,而是回到命令行,那意思就是brocker启动失败,需要把c:/user/你的用户名/store文件夹里面的所有文件全部删除,再启动,成功。
四、查看连接到nameserver上的broker
mqadmin clusterList -n localhost:9876
五、下载RocketMQ插件(管理控制台)
通过git命令下载以下链接对应的源码
git clone https://gitee.com/mirrors/RocketMQ-Externals.git
进入D:\04_work_installed\01_java_tools\34_Rocketmq_4_2_0\rocketmq-externals_git_resource\rocketmq-externals**rocketmq-console**目录,清除并打包(如果有自己的maven私服,最好启动):
mvn clean package -Dmaven.test.skip=true
进入到编译包下cd D:\04_work_installed\01_java_tools\34_Rocketmq_4_2_0\rocketmq-externals_git_resource\rocketmq-externals\rocketmq-console\target\
执行启动该jar:
java -jar rocketmq-console-ng-1.0.1.jar
应用访问:http://127.0.0.1:9980
六、创建主题topic
mqadmin updateTopic -n localhost:9876 -b localhost:10911 -t tx-mq-TOPIC
mqadmin updateTopic -c DefaultCluster -n localhost:9876 -t threezto-test -r 12 -w 12
显示刚刚已经创建的两个topic:
然后可以查看一些自定义主题、系统主题等等:
七、控制台创建主题
通过菜单:主题->新增/更新,就弹出框来填写对应的信息,并提交。
八、启动消费者
打开cmd命令窗口,执行以下命令:
set NAMESRV_ADDR=127.0.0.1:9876 tools.cmd org.apache.rocketmq.example.quickstart.Consumer
以上,消费者启动成功。
九、启动生产者
打开cmd命令窗口,执行以下命令:
set NAMESRV_ADDR=127.0.0.1:9876tools.cmd org.apache.rocketmq.example.quickstart.Producer
使用topic是TopicTest。
这时候消费者窗口正在消费消息:
十、查看控制台
查看消费者:
查看集群:
查看主题TopicTest的各项信息:
状态:
路由:
CONSUMER管理:
TOPIC配置:
查看消息:
可以查到,
Topic:TopicTest
Tag:TagA
consumerGroup:please_rename_unique_group_name_4
十一、其他命令
1)删除主题
mqadmin deleteTopic -n localhost:9876 -c DefaultCluster -t zto-example
十二、数据文件配置
12.1 查看数据存储
rocketmq的数据默认都是存放到该目录下
查询属性,发现文件实在太大了,想迁移该文件到其他地方,为c盘腾空间
打开broker.conf配置文件,增加以下配置(注意:需要使用 \\,\是无效的):
#存储路径storePathRootDir=D:\\04_work_installed\\01_java_tools\\34_Rocketmq_4_2_0\\rocketmq-all-4.2.0-bin-release\\store#commitLog 存储路径storePathCommitLog=D:\\04_work_installed\\01_java_tools\\34_Rocketmq_4_2_0\\rocketmq-all-4.2.0-bin-release\\store\\commitlog#消费队列存储路径存储路径storePathConsumeQueue=D:\\04_work_installed\\01_java_tools\\34_Rocketmq_4_2_0\\rocketmq-all-4.2.0-bin-release\\store\\consumequeue#消息索引存储路径storePathIndex=D:\\04_work_installed\\01_java_tools\\34_Rocketmq_4_2_0\\rocketmq-all-4.2.0-bin-release\\store\\index#checkpoint 文件存储路径storeCheckpoint=D:\\04_work_installed\\01_java_tools\\34_Rocketmq_4_2_0\\rocketmq-all-4.2.0-bin-release\\store\\checkpoint#abort 文件存储路径abortFile=D:\\04_work_installed\\01_java_tools\\34_Rocketmq_4_2_0\\rocketmq-all-4.2.0-bin-release\\store\\abort
首先将C:\Users\tiannan\store里所有文件迁移出来(否则brocker运行失败),然后重新运行:
start mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable=true -c D:\04_work_installed\01_java_tools\34_Rocketmq_4_2_0\rocketmq-all-4.2.0-bin-release\conf\broker.conf
运行成功后,你会发现rocketmq安装目录下生成store文件夹,里面还有生成一些文件,如:
关闭broker后,再将之前的备份拷贝回来:
最好重新重启broker,打开rocketmq控制台,又可以看见之前生成的topic等信息了。
在上述配置的内容来看,rocketmq的各端配置、以及消息都是存储在store里面的,需要保护好该目录数据。
12.2 查看日志存储
默认存储在C:\Users\tiannan\logs\rocketmqlogs文件夹里面,这个日志文件夹以及里面的日志文件,是以下日志配置进行配置的:
xml文件里面都是设置父目录是 ${user.home}/logs/rocketmqlogs ,所以可以在对应的xml文件里面修改日志存储位置。
十三、修改mqnamesrv和mqbroker的jvm内存
mqnamesrv.cmd -> runserver.cmd
打开runserver.cmd文件,找到以下内容修改:
set "JAVA_OPT=%JAVA_OPT% -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"##修改为set "JAVA_OPT=%JAVA_OPT% -server -Xms512m -Xmx512m -Xmn256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
mqbroker.cmd -> runbroker.cmd打开runbroker.cmd文件,找到以下内容修改:
set "JAVA_OPT=%JAVA_OPT% -server -Xms2g -Xmx2g -Xmn1g"##修改为set "JAVA_OPT=%JAVA_OPT% -server -Xms512m -Xmx512m -Xmn256m"
或者修改成你需要的内存大小即可。
挺简单的,对你来说,已经学会了拉。
关注我,下期继续!!!