Apache RocketMQ 中diskMaxUsedSpaceRatio的值对上面第5点的影响是怎样的?比如:设置diskMaxUsedSpaceRatio = 88,第5点还是按85%触发吗?了解了,那个是几天前出现的,所以现在看不了。硬盘已经扩容过的。 谢谢大神指点! 我这边日常运维大概要注意:根据业务,设置合理的fileReservedTime,磁盘扩容,让rocketmq活跃时,磁盘空间小于75%,保证rocketmq的健康。
在阿里云MQ中使用Apache RocketMQ时,diskMaxUsedSpaceRatio
参数的设置会影响第5点的触发条件。
默认情况下,当磁盘使用率超过85%时,RocketMQ将开始自动清除过期和重复的消息。但是,如果您设置了diskMaxUsedSpaceRatio
参数,则该参数的值将取代默认值,成为RocketMQ清除过期和重复消息的阈值。
例如,如果您将diskMaxUsedSpaceRatio
设置为88,则RocketMQ将在磁盘使用率达到88%时开始清除过期和重复的消息。在这种情况下,第5点的触发条件将与diskMaxUsedSpaceRatio
参数的值有关,并且可能会在更高的磁盘使用率下触发。
为了确保RocketMQ的健康运行,您需要根据业务需求设置合理的fileReservedTime
和diskMaxUsedSpaceRatio
参数,以确保磁盘空间始终保持在良好的状态。同时,您还应该定期扩容硬盘,以确保系统拥有足够的存储容量。
Apache RocketMQ中的diskMaxUsedSpaceRatio参数控制磁盘最大使用率的阈值,超过该阈值则Broker会停止接受新的消息以避免磁盘空间不足。因此,设置diskMaxUsedSpaceRatio=88表示磁盘空间可用率低于12%时,Broker将停止接受新消息。
与此同时,RocketMQ还有另一个参数,diskSpaceCleanForciblyRatio,该参数表示磁盘使用率已超过阈值时,Broker启动磁盘清理机制的阈值。该参数默认值为0.95,表示磁盘使用率达到95%时会进行磁盘清理。因此,如果您设置diskMaxUsedSpaceRatio=88,而后又将diskSpaceCleanForciblyRatio参数设置为0.85(即大于已设置的diskMaxUsedSpaceRatio),则Broker会在磁盘使用率达到85%时开始启动磁盘清理机制,以保持Broker的健康状态。
总之,为了保证RocketMQ的健康运行,您需要根据业务需求设置合适的参数,并在需要的时候扩容磁盘空间(如已经扩容过)。此外,您的日常运维应该密切关注Broker的磁盘使用情况,并及时采取必要的措施,以保证RocketMQ正常运行。
没有设置过diskSpaceCleanForciblyRatio的话,85%是写死的,一定会清理。 我觉得你那边的问题应该是通过解决数据盘共享造成的消息存储空间过小,而不是通过调整MQ的参数来解决。你看看store下面的commitlog有多大,有几个文件, 看你的描述,应该是个位数了, 而且很有可能文件都是最近几十分钟创建的。,此回答整理自钉群“群2-Apache RocketMQ 中国开发者钉钉群”
在Apache RocketMQ中,diskMaxUsedSpaceRatio的值表示磁盘使用的最大比例,当磁盘使用率达到这个比例时,RocketMQ会触发磁盘清理操作。因此,diskMaxUsedSpaceRatio的值越大,RocketMQ触发磁盘清理的时机就越晚。
在上面第5点中,当磁盘使用率超过85%时,RocketMQ会触发磁盘清理,因此如果设置了diskMaxUsedSpaceRatio = 88,则RocketMQ会在磁盘使用率达到88%时触发磁盘清理。也就是说,diskMaxUsedSpaceRatio的值对第5点的影响是,RocketMQ在磁盘使用率达到这个比例时触发磁盘清理,以保证磁盘使用率不会过高导致RocketMQ的健康出现问题。
在日常运维中,确实需要根据业务设置合理的fileReservedTime、磁盘扩容等,以保证RocketMQ的健康运行。同时,还需要注意磁盘使用率的情况,保证磁盘空间充足,避免磁盘空间不足导致RocketMQ运行异常。一般来说,确保磁盘空间使用率不超过75%是个不错的选择,但具体的值还需要根据实际情况和业务需求进行调整。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/