消息队列 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
相关文章
|
边缘计算 负载均衡 NoSQL
FreeMQTT Plus: 一个新型 MQTT Broker 集群的实现
FreeMQTT Plus 是一款基于 MQTT 协议的高性能消息中间件,采用分布式架构解决单点瓶颈问题。其核心由 Nginx 负载均衡器、黑(A)节点(MQTT Broker)、白(B)节点(消息路由)和日志(L)节点组成。通过无主从设计,支持高可用性、负载均衡与灵活扩展。针对会话同步、消息路由等挑战,FreeMQTT Plus 利用 MQTT5 特性定义元命令,实现节点间高效通信,无需依赖第三方组件。适用于物联网海量设备接入与高并发场景,为未来边缘计算和多级集群部署提供坚实基础。
2076 74
|
物联网
如何在腾讯云等平台搭建自己的物联网MQTT服务器Broker
物联网技术及MQTT协议被广泛应用于各种场景。本文介绍物联网MQTT服务助手下载,如何搭建自己的物联网平台,并使用 “MQTT客户端调试工具”模拟MQTT设备,接入平台进行消息收发。
954 37
|
消息中间件 C语言 RocketMQ
消息队列 MQ操作报错合集之出现"Connection reset by peer"的错误,该如何处理
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
消息中间件 存储 监控
消息队列 MQ使用问题之客户端重启后仍然出现broker接收消息不均匀,该怎么办
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
消息中间件 人工智能 监控
|
消息中间件 运维 RocketMQ
MetaQ/RocketMQ 原理问题之slave broker是从master同步信息的问题如何解决
MetaQ/RocketMQ 原理问题之slave broker是从master同步信息的问题如何解决
224 2
|
消息中间件 Java 物联网
消息队列 MQ操作报错合集之建立连接时发生了超时错误,该如何解决
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
消息队列 MQ操作报错合集之建立连接时发生了超时错误,该如何解决
|
消息中间件 网络协议 JavaScript
消息队列 MQ产品使用合集之报错提示是"the internal error!",是什么原因导致的”
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
消息中间件 SQL 监控
RocketMQ 5.3.0 版本中 Broker IP 配置为 IPv6 的情况
【8月更文第28天】RocketMQ 是一款分布式消息中间件,支持多种消息发布和订阅模式。在 RocketMQ 5.3.0 版本中,Broker 的配置文件 `broker.conf` 允许配置 IPv6 地址。当 Broker 的 `brokerIP1` 配置为 IPv6 地址时,会对 Broker 的启动、消息推送和状态监控等方面产生影响。本文将探讨如何在 RocketMQ 中配置 IPv6 地址,并检查 Broker 的状态。
1367 0
|
消息中间件 JavaScript Linux
消息队列 MQ操作报错合集之客户端在启动时遇到了连接错误,是什么原因
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。

相关产品

  • 云消息队列 MQ