rocketmq 启动_016【windows版Rocketmq】小白学习Rocketmq单机部署
以前都是听说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"
或者修改成你需要的内存大小即可。
挺简单的,对你来说,已经学会了拉。
关注我,下期继续!!!
rocketmq 启动_016【windows版Rocketmq】小白学习Rocketmq单机部署相关推荐
- 《RocketMQ实战专栏》为什么是你学习RocketMQ的最佳资料
<RocketMQ实战与原理>专栏简介 简介 RocketMQ业界主流的消息中间件之一,承载公司核心业务消息的流转.对RocketMQ核心原理的理解与最佳实践成了开发与运维同学的必备技能. ...
- Oracle笔记-Oracle基本结构及安装启动(windows版)
Oracle MySQL一个应用一个数据库 Orcale只有一个数据库(全局数据库) Orcale中有实例的概念(后台进程) 一个服务器可以建立多个实例.每个实例就相当于一个Oracle. 数据文件: ...
- windows10 RocketMQ启动 mqbroker 异常
一. windows10 RocketMQ启动 1.进入官网,http://rocketmq.apache.org/ 下载相应的版本即可 解压 2.win10启动RocketMq步骤 2.1: 先启 ...
- windows环境rocketMq启动mqbroker.cmd无反应
问题现象 windows环境rocketMq启动mqbroker.cmd无反应. 问题排查 这时我们找到rocketmq的日志,打开看一下日志C:\Users\admin\logs\rocketmql ...
- 小白学习:李航《统计学习方法》第二版第11章 条件随机场
小白学习:李航<统计学习方法>第二版第11章 条件随机场 小白学习:李航<统计学习方法>第二版第11章 条件随机场(一)----马尔科夫随机场 马尔科夫随机场(Markov r ...
- rocketmq 启动mqbroker.cmd闪退
记录一下,出现rocketmq启动mqnamesrv.cmd成功但是启动mqbroker.cmd会闪退. 猜测原因是由于电脑上一次非正常关机(停电或者意外崩溃),运行中的mq被强迫中止. 解决办法:将 ...
- 阿里力推双Q:RabbitMQ与RocketMQ,电子版手绘脑图+学习指南+面试,你知道多少?
先来谈谈RabbitMQ 附面试思维导图: 不多说,上一份我手绘的RabbitMQ思维脑图,先来总体的梳理一下各知识点 手绘的RabbitMQ思维脑图 额,这个手绘电子版的RabbitMQ知识大纲,有 ...
- 启动rocketmq_RocketMQ 部署启动指南-Docker 版
最近学习使用 rocketmq,需要搭建 rocketmq 服务端,本文主要记录 rocketmq 搭建过程以及这个过程踩到的一些坑. 准备工作 在搭建之前,我们需要做一些准备工作,这里我们需要使用 ...
- Linux系统基础小白学习(更新中)
Linux系统小白学习 Linux基础介绍安装 1.1 Unix与Linux 背景 Unix&Linux区别与联系 1.2 Linux介绍 特点 组成 Linux文件系统 内核版本 硬件 文件 ...
最新文章
- Python零基础入门(4)——强大的分支与循环
- beego api mysql_beego搭建api服务
- 用Gmail备份多看的推送
- (原创)无废话C#设计模式之十二:Bridge
- 博鳌直击 | 大数据开发的最大障碍是什么?
- .NET Core:跨平台和开源,让我在框架中脱颖而出
- 有些人还活着,被你一按就死了。。 | 今日最佳
- 【模拟】【递归】电子表格(jzoj 2127)
- [css] pseudo-class与pseudo-element有什么区别?
- [读书笔记] -《C++ API设计》第6章 C++用法
- 360集团或将推出数字安全免费新品
- socket和URLConnection
- Unable to update index for central|http://repo1.maven.org/maven2
- 华为路由器如何配置静态路由
- 使用gitbook时graceful-fs报错:TypeError: cb.apply is not a function的解决方案
- C. Odd/Even Increments
- php deployer 从入门到精通
- Android平台基于asmack实现XMPP协议中的PubSub机制
- SanDisk Cruzer CZ50 8GB U盘 质量怎样?不行!
- text-decoration 属性的简单介绍
热门文章
- AntiSamy测试
- 环信快速集成,以及实际集成中遇到的坑
- Web开发模式(MVC设计模式)
- MySQL 数据表备份导出,恢复导入操作实践
- Direct ByteBuffer学习
- Trust is the most important thing to the team!
- 系统带你学习 WebAPIs 第四讲
- Mac OS Git 安装
- Vue项目启动webpack报错Module build failed: Error: No PostCSS Config found in......
- docker --- 使用docker-compose.yml生成redis,并连接redis-cli