消息队列 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版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
2月前
|
消息中间件 JSON Java
开发者如何使用轻量消息队列MNS
【10月更文挑战第19天】开发者如何使用轻量消息队列MNS
101 7
|
1月前
|
消息中间件 数据库
RabbitMQ启动报错:Error during startup: {error, {schema_integrity_check_failed,
通过上述步骤,可以逐步排查和解决RabbitMQ启动时出现的 `Error during startup: {error, {schema_integrity_check_failed, ...}}`错误。这些步骤包括检查磁盘空间、修复文件权限、清理Mnesia数据库、检查日志文件以及升级或重装RabbitMQ。希望这些方法能帮助您解决问题,使RabbitMQ顺利启动并正常运行。
164 1
|
2月前
|
消息中间件 安全 Java
云消息队列RabbitMQ实践解决方案评测
一文带你详细了解云消息队列RabbitMQ实践的解决方案优与劣
96 8
|
1月前
|
消息中间件 存储 Kafka
MQ 消息队列核心原理,12 条最全面总结!
本文总结了消息队列的12个核心原理,涵盖消息顺序性、ACK机制、持久化及高可用性等内容。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
|
2月前
|
消息中间件
解决方案 | 云消息队列RabbitMQ实践获奖名单公布!
云消息队列RabbitMQ实践获奖名单公布!
|
2月前
|
消息中间件 存储 弹性计算
云消息队列RabbitMQ实践
云消息队列RabbitMQ实践
|
2月前
|
消息中间件 存储 监控
解决方案 | 云消息队列RabbitMQ实践
在实际业务中,网站因消息堆积和高流量脉冲导致系统故障。为解决这些问题,云消息队列 RabbitMQ 版提供高性能的消息处理和海量消息堆积能力,确保系统在流量高峰时仍能稳定运行。迁移前需进行技术能力和成本效益评估,包括功能、性能、限制值及费用等方面。迁移步骤包括元数据迁移、创建用户、网络打通和数据迁移。
73 4
|
3月前
|
消息中间件 运维 监控
云消息队列RabbitMQ实践解决方案评测报告
本报告旨在对《云消息队列RabbitMQ实践》解决方案进行综合评测。通过对该方案的原理理解、部署体验、设计验证以及实际应用价值等方面进行全面分析,为用户提供详尽的反馈与建议。
92 16
|
3月前
|
消息中间件 弹性计算 运维
阿里云云消息队列RabbitMQ实践解决方案评测报告
阿里云云消息队列RabbitMQ实践解决方案评测报告
82 9
|
3月前
|
消息中间件 监控 数据处理
解决方案 | 云消息队列RabbitMQ实践
解决方案 | 云消息队列RabbitMQ实践
55 1

相关产品

  • 云消息队列 MQ