Apache RocketMQ中现在能够理解brokerRole参数在controller模式下失?[阿里云消息队列MQ]

问题1:Apache RocketMQ中现在能够理解brokerRole参数在controller模式下失效 但是选举出来的主从之间的复制方式是同步还是异步的呢?改成5.1.1的controller之后 开启了acl broker报如下错误: 2023-05-30 15:28:36 ERROR BrokerControllerScheduledThread1 – syncTimerCheckPoint Exception, 10.244.254.159:10911 org.apache.rocketmq.client.exception.MQBrokerException: CODE: 1 DESC: org.apache.rocketmq.acl.common.AclException: No accessKey is configured, org.apache.rocketmq.acl.plain.PlainPermissionManager.validate(PlainPermissionManager.java:607) BROKER: 10.244.254.159:10911在5.1.1的里面acl配置有什么变化吗? 问题2:那broker里面的acl怎么配置呢?我设置了plain_acl.yml文件 还是报这个错误,有人了解rocketmq5.1.1的broker的acl配置吗 我感觉是不是acl的代码改了

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
1 条回复 A 作者 M 管理员
    1. 在 Apache RocketMQ 的 Controller 模式下,Broker 之间的数据同步方式是异步的。当主 Broker 发生数据变更时,它会首先将数据变更写入到本地磁盘中,并将数据变更信息发送给所有 Slave Broker,之后主 Broker 就会立即进行下一次数据变更操作,而 Slave Broker 则会异步从主 Broker 中拉取最新的数据变更进行更新。

    关于您在升级至 5.1.1 版本后遇到的 ACL 报错问题,原因是 5.1.1 版本的 ACL 权限管理机制发生了较大变化,如果您在升级后使用原先版本的 ACL 配置文件进行配置,可能会出现上述错误。您需要在 5.1.1 版本中重新配置 ACL 相关的权限控制信息才能正常运行。请参考以下步骤进行 ACL 配置:

    1. 创建 ACL 角色配置文件(plain_acl.yml),示例如下:

    users:   - username: producer     password: mq_producer_123     accessKey: producer_akey     secretKey: producer_skey     whiteRemoteAddress: "*"   - username: consumer     password: mq_consumer_123     accessKey: consumer_akey     secretKey: consumer_skey     whiteRemoteAddress: "*"roles:   - roleName: producer     permissions:     - action: SUB       resource:         - topic=test_topic     - action: PUB       resource:         - topic=test_topic     - action: SEND_MESSAGE       resource:         - topic=test_topic   - roleName: consumer     permissions:     - action: CONSUME       resource:         - topic=test_topic

    1. 在 broker.conf 文件中,添加以下配置项以开启 ACL 相关的配置:

    enablePropertyFilter=trueplainPasswordFile=./conf/credentials.propertiesplainPermissionPath=./conf/plain_acl.yml

    1. 创建 credentials.properties 文件,定义管理员用户和密码,示例如下:

    # 具有超级权限的管理员用户accessKey=admin_akeysecretKey=admin_skeyusers=admin

    1. 在应用程序中,您可以使用上述配置的用户名和密码来连接 Apache RocketMQ Broker,并根据角色和权限进行消息发送和消费。
  1. 回答1:如果allAckInSyncStateSet为true,主要看副本是否在SyncStateSet中,此回答整理自钉群“群2-Apache RocketMQ 中国开发者钉钉群”