RocketMQ配置全解(含ACL、Dashboard配置)
RocketMQ配置全解
- NAME SERVER
- 配置
- 启动
- BROKER SERVER
- 配置
- ACL配置(`aclEnable=true`时配置)
- plain_acl.yml
- tools.yml
- 启动
- RocketMQ Dashboard
- 下载源码
- 调整配置
- users.properties
- 打包
- 启动
- 访问
基本覆盖常用配置,如有需要继续补充
RocketMQ主要有NAME SERVER
、BROKER SERVER
,更详细参考官方架构介绍
NAME SERVER
配置
一般就是改个端口,在rocket目录下conf目录中创建文件nameserver.conf
内容如下
listenPort=端口号
启动
启动时,指定配置文件
.\bin\mqnamesrv.cmd -c .\conf\nameserver.conf
BROKER SERVER
配置
在rocket目录下conf目录中broker.conf
配置,支持的配置项如下,如果要使用身份鉴权aclEnable=true
必须配置,如需开放防火墙端口,注意如下端口配置
# 所属集群名字
brokerClusterName = MQ_Cluster
# broker名字,注意此处不同的配置文件填写的不一样
brokerName = broker-a
# 0 表示 Master,>0 表示 Slave
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH# 当前broker监听的IP地址 多网卡的时候需要
brokerIP1=127.0.0.1
# Broker 对外服务的监听端口
listenPort=10911
#主要用于slave同步master 默认listenPort - 2
fastListenPort=10909
#haService中使用 默认listenPort + 1
haListenPort=10912
# 鉴权
aclEnable=true# nameServer地址,分号分割
namesrvAddr=127.0.0.1:9876
# 是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
# 是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true# 在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=4
# 删除文件时间点,默认凌晨 4点
deleteWhen=03
# 文件保留时间,默认 48 小时
fileReservedTime=120
# commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
# ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
# 检测物理文件磁盘空间
diskMaxUsedSpaceRatio=88
# 存储路径
storePathRootDir=/rocketmq/store
# commitLog 存储路径
storePathCommitLog=/rocketmq/store/commitlog
# 消费队列存储路径存储路径
storePathConsumeQueue=/rocketmq/store/consumequeue
# 消息索引存储路径
storePathIndex=/rocketmq/store/index
# checkpoint 文件存储路径
storeCheckpoint=/rocketmq/store/checkpoint
# abort 文件存储路径
abortFile=/rocketmq/store/abort
# 限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
# Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
brokerRole=SYNC_MASTER
# 刷盘方式
#- ASYNC_FLUSH 异步刷盘
#- SYNC_FLUSH 同步刷盘
flushDiskType=SYNC_FLUSH
#checkTransactionMessageEnable=false
# 发消息线程池数量
#sendMessageThreadPoolNums=128
# 拉消息线程池数量
#pullMessageThreadPoolNums=128
ACL配置(aclEnable=true
时配置)
在aclEnable=true
时配置
plain_acl.yml
globalWhiteRemoteAddresses:accounts:
- accessKey: RocketMQsecretKey: 12345678whiteRemoteAddress:admin: falsedefaultTopicPerm: DENYdefaultGroupPerm: SUBtopicPerms:- TopicTest=PUBgroupPerms:# the group should convert to retry topic- oms_consumer_group=DENY- accessKey: adminsecretKey: 12345678whiteRemoteAddress:# if it is admin, it could access all resourcesadmin: true# RocketMQ有个bug,admin默认权限不对,所以下面默认给发布和订阅权限defaultTopicPerm: PUB|SUBdefaultGroupPerm: PUB|SUB
上面的配置示例,结果为:
PUB是发布权限,SUB是订阅权限、也就是消费权限,按需配置,可以分发布用户和订阅用户,也可以一个用户拥有PUB|SUB权限
用户RocketMQ普通用户,分配的权限为只能发送TopicTest的消息,其他topic无权限发送;拒绝oms_consumer_group消费组的消息消费,其他消费组默认可消费。
用户admin是管理员用户,权限最大
tools.yml
accessKey: 普通用户accessKey
secretKey: 普通用户secretKey
启动
启动时,指定配置文件
.\bin\mqbroker.cmd -c .\conf\broker.conf
RocketMQ Dashboard
下载源码
https://github.com/apache/rocketmq-dashboard.git
调整配置
调整配置文件src/main/resources/application.yml
中的配置,如果开启了ACL,注意配置accessKey
、secretKey
,建议配置admin的账户,不然有些功能没有权限使用,然后loginRequired
设置为true,编辑src/main/resources/users.properties
Dashboard用户信息,users.properties
配置说明见下文
server:port: 9866 # Dashboard端口号servlet:encoding:charset: UTF-8enabled: trueforce: true
## SSL setting
# ssl:
# key-store: classpath:rmqcngkeystore.jks
# key-store-password: 11
# key-store-type: PKCS12
# key-alias: rmqcngkey……rocketmq:config:# if this value is empty,use env value rocketmq.config.namesrvAddr NAMESRV_ADDR | now, default localhost:9876# configure multiple namesrv addresses to manage multiple different clusters# RocketMQ服务列表namesrvAddrs: - 127.0.0.1:9876#- 127.0.0.2:9898# if you use rocketmq version < 3.5.8, rocketmq.config.isVIPChannel should be false.default trueisVIPChannel: true# timeout for mqadminExt, default 5000mstimeoutMillis:# rocketmq-console's data path:dashboard/monitordataPath: /rocketmq-console/data# set it false if you don't want use dashboard.default trueenableDashBoardCollect: true# set the message track trace topic if you don't want use the default onemsgTrackTopicName:ticketKey: ticket# must create userInfo file: ${rocketmq.config.dataPath}/users.properties if the login is requiredloginRequired: false # 安全起见 建议设置为true并配置用户信息useTLS: false# set the accessKey and secretKey if you used aclaccessKey: "用户accessKey" # if version > 4.4.0secretKey: "用户secretKey" # if version > 4.4.0……
users.properties
# username=password[,N]
# N 可选参数, 0 (普通用户); 1 (Admin) 使用的时候直接英文逗号加数字,没有括号,下面例子# Define Admin
admin=密码,1# Define Users
user1=user1,0
打包
mvn clean package -DskipTests=true
启动
java -jar .\target\rocketmq-dashboard-1.0.1-SNAPSHOT.jar
访问
- 根据自己配置的Dashboard端口号访问
127.0.0.1:9866
RocketMQ配置全解(含ACL、Dashboard配置)相关推荐
- ubuntu apache2配置详解(含虚拟主机配置方法)
在Windows下,Apache的配置文件通常只有一个,就是httpd.conf.但我在Ubuntu Linux上用apt-get install apache2命令安装了Apache2后,竟然发现它 ...
- Echarts数据可视化开发参数配置全解
全栈工程师开发手册 (作者:栾鹏) Echarts数据可视化开发代码注释全解 Echarts数据可视化开发参数配置全解 github源码地址:https://github.com/626626cdll ...
- 64位 Fedora 11 硬盘安装 配置全解
64位 Fedora 11 硬盘安装 配置全解 转贴: http://www.ubuntuchina.com/viewthread.php?tid=7428&extra=page%3D1 硬盘 ...
- CISCO ACL配置全解
ACL(Access Control List,访问控制列表) 技术从来都是一把双刃剑,网络应用与互联网的普及在大幅提高企业的生产经营效率的同时,也带来了诸如数据的安全性,员工利用互联网做与工作不相干 ...
- matlab2c使用c++实现matlab函数开发配置全解
全栈工程师开发手册 (作者:栾鹏) github: https://github.com/data-infra/matlab2c matlab2c动态链接库下载 matlab库函数大全 matlab2 ...
- vue中使用ECharts实现中国地图配置详解(配官方配置地址)
前言: 1.实现自定义左下角的视觉映射组件(包括自定义颜色.文字.图元大小) 2.实现自定义悬浮提示框 如下图所示: 实现步骤: 一.在vue中安装echarts 1.npm install echa ...
- 解压版/免安装版MySQL配置全解
一 下载MySQL http://dev.mysql.com/downloads/mysql/5.0.html 解压MySQL(F:/Program Files/MySQL/)MySQL安装目录 二 ...
- 2022win11系统 MySQL下载安装配置全解(超详细哟)
本文手把手教你如何下载.安装以及配置MySQL,配有详细的文字解说以及丰富的过程步骤图解,在安装和配置的过程中可能会出现的问题,以及对应问题的解决方案都有详细说明,希望对大家有所帮助,记得点个赞哟! ...
- ubuntu 环境 celery配置全解
继续尝试没有时间弄明白的技术. celery官方文档地址:http://docs.celeryproject.org/en/stable/getting-started/introduction.ht ...
最新文章
- SpringCloud Alibaba 微服务架构版本说明
- duilib控件的一些属性
- C++Primer:Break、Continue、Goto、Try/异常处理
- python jieba库用法
- 《数学分析》里的人生
- 不恢复余数除法原理_青岛版二年级下册数学寒假预习:有余数的除法自主练习答案及讲解...
- Pytorch《LSTM模型》
- Java并行计算线程池_干货!线程池+CountDownLatch,实现 多线程并发计算、汇总
- Spring Cloud中关于@EnableFeignClients注解的属性字段basePackages
- mysql resultset null_com.mysql.jdbc.driver中resultset报NullException
- POJ3169 Layout(差分约束)
- 【转载】文件上传命令rz和下载命令sz的安装
- 日常排版--word中的一些小技巧(交叉引用)
- python 保存图片_python 输出文档到world
- 微博的html,微博输入html
- PCI/PCIe转串口Linux驱动使用说明
- 论文:OIE@OIA: an Adaptable and Efficient Open Information Extraction Framework
- 网站换服务器步骤,【大拿分享】六个步骤搞定更换网站服务器
- python获取元素在数组中的位置
- 算法(9)汉诺塔图解及其代码实现
热门文章
- React Navigation (v2)导航器
- nodejs之multiparty插件使用解析
- idea 调试 java,将Intellij-IDEA调试器附加到正在运行的java进程
- matlab图像灰度调整——imadjust函数的使用
- 小程序uniapp利用canvas生成海报并可以保存至相册
- 利用monment库做一个日历表
- 项目从SVN修改成git
- vue.runtime.esm.js?2b0e:619 [Vue warn]: Error in render: “TypeError: Cannot read property ‘matched‘
- vue中vue.runtime.esm.js?2b0e:619 [Vue warn]: data functions should return an object:报错原因
- python stringio_StringIO (String) – Python 中文开发手册 - Break易站