RocketMQ配置全解(含ACL、Dashboard配置)

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

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

plain_acl.yml这个配置文件是动态生效的,修改后会被MQ动态加载,即时生效,注意修改

globalWhiteRemoteAddresses:

accounts:
- accessKey: RocketMQ
  secretKey: 12345678
  whiteRemoteAddress:
  admin: false
  defaultTopicPerm: DENY
  defaultGroupPerm: SUB
  topicPerms:
  - TopicTest=PUB
  groupPerms:
  # the group should convert to retry topic
  - oms_consumer_group=DENY

- accessKey: admin
  secretKey: 12345678
  whiteRemoteAddress:
  # if it is admin, it could access all resources
  admin: true
  # RocketMQ有个bug,admin默认权限不对,所以下面默认给发布和订阅权限
  defaultTopicPerm: PUB|SUB
  defaultGroupPerm: 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-8
      enabled: true
      force: 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 true
    isVIPChannel: true
    # timeout for mqadminExt, default 5000ms
    timeoutMillis:
    # rocketmq-console's data path:dashboard/monitor
    dataPath: /rocketmq-console/data
    # set it false if you don't want use dashboard.default true
    enableDashBoardCollect: true
    # set the message track trace topic if you don't want use the default one
    msgTrackTopicName:
    ticketKey: ticket
    # must create userInfo file: ${rocketmq.config.dataPath}/users.properties if the login is required
    loginRequired: false # 安全起见 建议设置为true并配置用户信息
    useTLS: false
    # set the accessKey and secretKey if you used acl
    accessKey: "用户accessKey" # if version > 4.4.0
    secretKey: "用户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

在这里插入图片描述

  • 8
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
为了配置RocketMQ Dashboard,你需要进行以下步骤: 1. 首先,你需要获取RocketMQ Dashboard的源代码。你可以从GitHub上的这个链接克隆最新的代码。运行以下命令:`git clone https://github.com/apache/rocketmq-dashboard.git` 2. 然后,你需要调整配置。在`resource/application.properties`文件中进行配置修改。你可以根据需要修改以下属性: - `rocketmq.config.namesrvAddr`:设置RocketMQ的Name Server地址,例如`127.0.0.1:9876`。 - `rocketmq.config.dataPath`:设置RocketMQ Dashboard的数据存储路径,例如`d:/data/rkmqdata`。 3. 在进行配置修改后,你需要打包并启动RocketMQ Dashboard。运行以下命令: - `mvn clean package -Dmaven.test.skip=true`:打包项目。 - `java -jar target/rocketmq-dashboard-x.x.x.jar`:启动RocketMQ Dashboard,其中`x.x.x`是版本号。 4. 最后,你可以通过访问RocketMQ Dashboard的URL来访问仪表板。默认情况下,URL是`http://localhost:8080`。 请注意,以上是基本的配置步骤。根据你的具体需求,你可能还需要进行其他的配置调整。你可以参考RocketMQ Dashboard的文档和源代码中的配置文件进行更多细节的配置。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [RocketMQ配置全解ACLDashboard配置)](https://blog.csdn.net/qq_33598419/article/details/125717676)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Rocketmq Dashboard 安装](https://blog.csdn.net/zihua2005/article/details/121422362)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值