RocketMQ 问题记录

问题

Broker 磁盘空间不足

执行 tools.cmd org.apache.rocketmq.example.quickstart.Producer,报以下错误:

00:06:30.859 [main] DEBUG i.n.u.i.l.InternalLoggerFactory - Using SLF4J as the default logging framework
RocketMQLog:WARN No appenders could be found for logger (io.netty.util.internal.PlatformDependent0).
RocketMQLog:WARN Please initialize the logger system properly.
org.apache.rocketmq.client.exception.MQClientException: Send [3] times, still failed, cost [783]ms, Topic: TopicTest, BrokersSent: [broker-a, broker-a, broker-a]
See http://rocketmq.apache.org/docs/faq/ for further details.
        at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.sendDefaultImpl(DefaultMQProducerImpl.java:674)
        at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.send(DefaultMQProducerImpl.java:1384)
        at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.send(DefaultMQProducerImpl.java:1328)
        at org.apache.rocketmq.client.producer.DefaultMQProducer.send(DefaultMQProducer.java:330)
        at org.apache.rocketmq.example.quickstart.Producer.main(Producer.java:67)
Caused by: org.apache.rocketmq.client.exception.MQBrokerException: CODE: 14  DESC: service not available now. It may be caused by one of the following reasons: the broker's disk is full [CL:  0.91 CQ:  0.91 INDEX:  0.91], messages are put to the slave, message store has been shut down, etc. BROKER: 172.22.48.1:10911
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
        at org.apache.rocketmq.client.impl.MQClientAPIImpl.processSendResponse(MQClientAPIImpl.java:666)
        at org.apache.rocketmq.client.impl.MQClientAPIImpl.sendMessageSync(MQClientAPIImpl.java:505)
        at org.apache.rocketmq.client.impl.MQClientAPIImpl.sendMessage(MQClientAPIImpl.java:487)
        at org.apache.rocketmq.client.impl.MQClientAPIImpl.sendMessage(MQClientAPIImpl.java:431)
        at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.sendKernelImpl(DefaultMQProducerImpl.java:863)
        at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.sendDefaultImpl(DefaultMQProducerImpl.java:593)
        ... 4 more

原因是 ~/logs/rocketmqlogs/rocketmq_client.log 所在的磁盘空间占用超过 90%。

rocket 是根据 ratio 来决定磁盘是否满的,默认是 90%,每 60 秒扫描一次磁盘,如果大于 ratio 就会对所有的 producer 发送过来的请求返回磁盘满的错

参考

  • 这篇博文的评论:RocketMq broker 硬盘空间不足的问题_xuhaifang_9856 的专栏 - CSDN 博客

你可能感兴趣的:(java,rocketmq,alibaba,apache,消息队列)