RocketMQ 4.7.1 报错not available now, maybe disk full, maybe your broker machine memory too small

报错背景

今天在Mac上安装了rocketmq 4.7.1的最新版本,程序调用的时候,出现了报错信息如下:

Caused by: org.apache.rocketmq.client.exception.MQBrokerException: CODE: 14  DESC: service not available now, maybe disk full, CL:  0.92 CQ:  0.92 INDEX:  0.92, maybe your broker machine memory too small.
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
	at org.apache.rocketmq.client.impl.MQClientAPIImpl.processSendResponse(MQClientAPIImpl.java:665) ~[rocketmq-client-4.7.1.jar:4.7.1]
	at org.apache.rocketmq.client.impl.MQClientAPIImpl.sendMessageSync(MQClientAPIImpl.java:505) ~[rocketmq-client-4.7.1.jar:4.7.1]
	at org.apache.rocketmq.client.impl.MQClientAPIImpl.sendMessage(MQClientAPIImpl.java:487) ~[rocketmq-client-4.7.1.jar:4.7.1]
	at org.apache.rocketmq.client.impl.MQClientAPIImpl.sendMessage(MQClientAPIImpl.java:431) ~[rocketmq-client-4.7.1.jar:4.7.1]
	at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.sendKernelImpl(DefaultMQProducerImpl.java:854) ~[rocketmq-client-4.7.1.jar:4.7.1]
	at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.sendDefaultImpl(DefaultMQProducerImpl.java:584) ~[rocketmq-client-4.7.1.jar:4.7.1]
	... 87 common frames omitted

问题定位

  • 检查磁盘空间,已用空间是95%
  • RocketMQ的默认设置只是支持90%,超过则提示空间不足

解决方案

进入到rocketmq的安装目录下

vi bin/runbroker.sh

在里面增加一行

JAVA_OPT="${JAVA_OPT} -Drocketmq.broker.diskSpaceWarningLevelRatio=0.99"

保存后重启broker

相关命令

  1. 启动nameserver
 nohup sh bin/mqnamesrv &
  1. 启动broker,这条命令增加参数:自动创建topic
nohup sh bin/mqbroker -n 127.0.0.1:9876 -c conf/broker.conf autoCreateTopicEnable=true &
  1. 关闭broker命令
sh bin/mqshutdown broker
  1. 关闭nameserver命令
sh bin/mqshutdown namesrv

更多命令可以参考官方文档:http://rocketmq.apache.org/docs/quick-start/

应用案例

https://github.com/matevip/matecloud


版权声明:本文为bufegar0原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
THE END
< <上一篇
下一篇>>