消息队列 MQ产品使用合集之启动broker&proxy的时候会报错,该怎么办

简介: 消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。

问题一:RocketMQ部署了一个三副本namesrv的场景,ip分别为a,b,c,这是正常情况吗?

RocketMQ部署了一个三副本namesrv的场景,ip分别为a,b,c,然后我在"xxxCluster"里添加了个topic,我发现我的Java程序进行produce的时候会报错"No topic route info in name server for the topic: TopicTest"

然后我分别使用“mqadmin topicList -n a:9876 -c xxxCluster ” “mqadmin topicList -n b:9876 -c xxxCluster ”"mqadmin topicList -n c:9876 -c xxxCluster " 发现三个命令得到的结果都不一样,一个什么也不输出,一个输出初始topic列表,一个输出有TopicTest的列表。

这是正常情况吗?



参考答案:

你部的是1个namesrv,3个不同集群的broker吗?

在集群A的创建的topic只属于集群A



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/612825



问题二:RocketMQ中plain_acl.yml里的全局白名单只能写ip吗?能不能写主机名?

RocketMQ中plain_acl.yml里的全局白名单只能写ip吗?能不能写主机名?我启动broker&proxy的时候会报错

java.lang.NumberFormatException: For input string: "broker"

at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)

at java.lang.Integer.parseInt(Integer.java:580)

at java.lang.Integer.parseInt(Integer.java:615)

at org.apache.rocketmq.acl.plain.RemoteAddressStrategyFactory$RangeRemoteAddressStrategy.analysis(RemoteAddressStrategyFactory.java:192)

at org.apache.rocketmq.acl.plain.RemoteAddressStrategyFactory$RangeRemoteAddressStrategy.(RemoteAddressStrategyFactory.java:170)

at org.apache.rocketmq.acl.plain.RemoteAddressStrategyFactory.getRemoteAddressStrategy(RemoteAddressStrategyFactory.java:71)

at org.apache.rocketmq.acl.plain.PlainPermissionManager.load(PlainPermissionManager.java:144)

at org.apache.rocketmq.acl.plain.PlainPermissionManager.(PlainPermissionManager.java:85)

at org.apache.rocketmq.acl.plain.PlainAccessValidator.(PlainAccessValidator.java:35)

at org.apache.rocketmq.broker.BrokerController.initialAcl(BrokerController.java:971)

at org.apache.rocketmq.broker.BrokerController.recoverAndInitService(BrokerController.java:836)

at org.apache.rocketmq.broker.BrokerController.initialize(BrokerController.java:792)

at org.apache.rocketmq.broker.BrokerStartup.createBrokerController(BrokerStartup.java:240)

at org.apache.rocketmq.proxy.ProxyStartup.createBrokerController(ProxyStartup.java:229)

at org.apache.rocketmq.proxy.ProxyStartup.createMessagingProcessor(ProxyStartup.java:187)

at org.apache.rocketmq.proxy.ProxyStartup.main(ProxyStartup.java:79)

看起来是加载到了broker相关的字段,我的plain_acl.yml里包含broker的地方只有:

globalWhiteRemoteAddresses:

  • broker-a-s-0.broker-a-s.pscp-rocketmq.svc.cluster.local
  • broker-b-s-0.broker-b-s.pscp-rocketmq.svc.cluster.local我用4.9.8没有这个问题,有5.1.4有



参考答案:

域名不支持, 会分析是否连续的ip,或者 1.1.1.* 这种 ,



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/612818



问题三:RocketMQ5.x版本顺序消息示例注释的,这个消费者分组为顺序投递模式怎么确定?

RocketMQ5.x版本顺序消息示例注释的,“消费顺序消息时,需要确保当前消费者分组是顺序投递模式,否则仍然按并发乱序投递”。这个消费者分组为顺序投递模式怎么确定?示例说使用PushConsumer消费顺序消息,只需要在消费监听器处理即可。我按示例服务启动的时候debug,创建的是StandardConsumeService



参考答案:

我这边是在创建消费者的时候,将消费者的线程数量设为1,就能顺序消费了。

官网有说明,顺序队列的限制,同个进程下一个消费组只能有一个消费者实例对象。创建group的时候可以指定是否顺序,grpc 的客户端是以服务侧的配置为准。你创建的是顺序group,启动后就会按照顺序的方式进行消费,这个是官网的使用建议。目前我是这么处理的,一切良好,一个进程内同个Topic、N个消费组。



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/612813



问题四:RocketMQ中sh mqadmin 是不是已经被删除了?

RocketMQ中sh mqadmin getAccessConfigSubCommand 是不是已经被删除了?我用这个会输出 The sub command getAccessConfigSubCommand not exist。那现在有什么办法查看broker的权限情况吗,直接去看plain_acl文件吗?



参考答案:

登到broker机器上查看



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/612809



问题五:RocketMQ99 5.1.0版本设置这个参数没有用,总说磁盘满了,如何解决?

RocketMQ中mqbroker.cmd -n localhost:9876 diskMaxUsedSpaceRatio=99 5.1.0版本设置这个参数没有用,总说磁盘满了?



参考答案:

磁盘满了看清除一些内容 或者扩容



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/612808

相关实践学习
快速体验阿里云云消息队列RocketMQ版
本实验将带您快速体验使用云消息队列RocketMQ版Serverless系列实例进行获取接入点、创建Topic、创建订阅组、收发消息、查看消息轨迹和仪表盘。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
7月前
|
消息中间件 数据管理 Serverless
阿里云消息队列 Apache RocketMQ 创新论文入选顶会 ACM FSE 2025
阿里云消息团队基于 Apache RocketMQ 构建 Serverless 消息系统,适配多种主流消息协议(如 RabbitMQ、MQTT 和 Kafka),成功解决了传统中间件在可伸缩性、成本及元数据管理等方面的难题,并据此实现 ApsaraMQ 全系列产品 Serverless 化,助力企业提效降本。
|
5月前
|
消息中间件 Java Kafka
消息队列比较:Spring 微服务中的 Kafka 与 RabbitMQ
本文深入解析了 Kafka 和 RabbitMQ 两大主流消息队列在 Spring 微服务中的应用与对比。内容涵盖消息队列的基本原理、Kafka 与 RabbitMQ 的核心概念、各自优势及典型用例,并结合 Spring 生态的集成方式,帮助开发者根据实际需求选择合适的消息中间件,提升系统解耦、可扩展性与可靠性。
368 1
消息队列比较:Spring 微服务中的 Kafka 与 RabbitMQ
|
消息中间件 JSON Java
开发者如何使用轻量消息队列MNS
【10月更文挑战第19天】开发者如何使用轻量消息队列MNS
955 88
|
消息中间件 安全 Java
云消息队列RabbitMQ实践解决方案评测
一文带你详细了解云消息队列RabbitMQ实践的解决方案优与劣
437 88
|
消息中间件 存储 Kafka
MQ 消息队列核心原理,12 条最全面总结!
本文总结了消息队列的12个核心原理,涵盖消息顺序性、ACK机制、持久化及高可用性等内容。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
|
消息中间件
解决方案 | 云消息队列RabbitMQ实践获奖名单公布!
云消息队列RabbitMQ实践获奖名单公布!
224 1
|
消息中间件 存储 弹性计算
云消息队列RabbitMQ实践
云消息队列RabbitMQ实践
|
消息中间件 运维 监控
云消息队列RabbitMQ实践解决方案评测报告
本报告旨在对《云消息队列RabbitMQ实践》解决方案进行综合评测。通过对该方案的原理理解、部署体验、设计验证以及实际应用价值等方面进行全面分析,为用户提供详尽的反馈与建议。
320 16
|
消息中间件 存储 监控
解决方案 | 云消息队列RabbitMQ实践
在实际业务中,网站因消息堆积和高流量脉冲导致系统故障。为解决这些问题,云消息队列 RabbitMQ 版提供高性能的消息处理和海量消息堆积能力,确保系统在流量高峰时仍能稳定运行。迁移前需进行技术能力和成本效益评估,包括功能、性能、限制值及费用等方面。迁移步骤包括元数据迁移、创建用户、网络打通和数据迁移。
400 4
|
消息中间件 弹性计算 运维
阿里云云消息队列RabbitMQ实践解决方案评测报告
阿里云云消息队列RabbitMQ实践解决方案评测报告
291 9

相关产品

  • 云消息队列 MQ