RocketMQ配置全解

  • NAME SERVER
    • 配置
    • 启动
  • BROKER SERVER
    • 配置
    • ACL配置(`aclEnable=true`时配置)
      • plain_acl.yml
      • tools.yml
    • 启动
  • RocketMQ Dashboard
    • 下载源码
    • 调整配置
      • users.properties
    • 打包
    • 启动
    • 访问

基本覆盖常用配置,如有需要继续补充

RocketMQ主要有NAME SERVERBROKER 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,注意配置accessKeysecretKey,建议配置admin的账户,不然有些功能没有权限使用,然后loginRequired设置为true,编辑src/main/resources/users.propertiesDashboard用户信息,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配置)相关推荐

  1. ubuntu apache2配置详解(含虚拟主机配置方法)

    在Windows下,Apache的配置文件通常只有一个,就是httpd.conf.但我在Ubuntu Linux上用apt-get install apache2命令安装了Apache2后,竟然发现它 ...

  2. Echarts数据可视化开发参数配置全解

    全栈工程师开发手册 (作者:栾鹏) Echarts数据可视化开发代码注释全解 Echarts数据可视化开发参数配置全解 github源码地址:https://github.com/626626cdll ...

  3. 64位 Fedora 11 硬盘安装 配置全解

    64位 Fedora 11 硬盘安装 配置全解 转贴: http://www.ubuntuchina.com/viewthread.php?tid=7428&extra=page%3D1 硬盘 ...

  4. CISCO ACL配置全解

    ACL(Access Control List,访问控制列表) 技术从来都是一把双刃剑,网络应用与互联网的普及在大幅提高企业的生产经营效率的同时,也带来了诸如数据的安全性,员工利用互联网做与工作不相干 ...

  5. matlab2c使用c++实现matlab函数开发配置全解

    全栈工程师开发手册 (作者:栾鹏) github: https://github.com/data-infra/matlab2c matlab2c动态链接库下载 matlab库函数大全 matlab2 ...

  6. vue中使用ECharts实现中国地图配置详解(配官方配置地址)

    前言: 1.实现自定义左下角的视觉映射组件(包括自定义颜色.文字.图元大小) 2.实现自定义悬浮提示框 如下图所示: 实现步骤: 一.在vue中安装echarts 1.npm install echa ...

  7. 解压版/免安装版MySQL配置全解

    一 下载MySQL http://dev.mysql.com/downloads/mysql/5.0.html 解压MySQL(F:/Program Files/MySQL/)MySQL安装目录 二  ...

  8. 2022win11系统 MySQL下载安装配置全解(超详细哟)

    本文手把手教你如何下载.安装以及配置MySQL,配有详细的文字解说以及丰富的过程步骤图解,在安装和配置的过程中可能会出现的问题,以及对应问题的解决方案都有详细说明,希望对大家有所帮助,记得点个赞哟! ...

  9. ubuntu 环境 celery配置全解

    继续尝试没有时间弄明白的技术. celery官方文档地址:http://docs.celeryproject.org/en/stable/getting-started/introduction.ht ...

最新文章

  1. SpringCloud Alibaba 微服务架构版本说明
  2. duilib控件的一些属性
  3. C++Primer:Break、Continue、Goto、Try/异常处理
  4. python jieba库用法
  5. 《数学分析》里的人生
  6. 不恢复余数除法原理_青岛版二年级下册数学寒假预习:有余数的除法自主练习答案及讲解...
  7. Pytorch《LSTM模型》
  8. Java并行计算线程池_干货!线程池+CountDownLatch,实现 多线程并发计算、汇总
  9. Spring Cloud中关于@EnableFeignClients注解的属性字段basePackages
  10. mysql resultset null_com.mysql.jdbc.driver中resultset报NullException
  11. POJ3169 Layout(差分约束)
  12. 【转载】文件上传命令rz和下载命令sz的安装
  13. 日常排版--word中的一些小技巧(交叉引用)
  14. python 保存图片_python 输出文档到world
  15. 微博的html,微博输入html
  16. PCI/PCIe转串口Linux驱动使用说明
  17. 论文:OIE@OIA: an Adaptable and Efficient Open Information Extraction Framework
  18. 网站换服务器步骤,【大拿分享】六个步骤搞定更换网站服务器
  19. python获取元素在数组中的位置
  20. 算法(9)汉诺塔图解及其代码实现

热门文章

  1. React Navigation (v2)导航器
  2. nodejs之multiparty插件使用解析
  3. idea 调试 java,将Intellij-IDEA调试器附加到正在运行的java进程
  4. matlab图像灰度调整——imadjust函数的使用
  5. 小程序uniapp利用canvas生成海报并可以保存至相册
  6. 利用monment库做一个日历表
  7. 项目从SVN修改成git
  8. vue.runtime.esm.js?2b0e:619 [Vue warn]: Error in render: “TypeError: Cannot read property ‘matched‘
  9. vue中vue.runtime.esm.js?2b0e:619 [Vue warn]: data functions should return an object:报错原因
  10. python stringio_StringIO (String) – Python 中文开发手册 - Break易站