broker的磁盘已满,写入逻辑队列错误

rocketmq版本4.9.4 我在压力测试中遇到了这个错误。检查broker磁盘上是否仍有大量可用空间。 四个主磁盘的剩余空间足够。没有奴隶

broker错误日志:

the message store is not writable. It may be caused by one of the following reasons: the broker's disk is full, write to logic queue error, write to index file error, etc .

data store path /app/

[xx rocketmqlogs]# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 7.5G 0 7.5G 0% /dev tmpfs 7.6G 2.5M 7.5G 1% /dev/shm tmpfs 7.6G 476K 7.6G 1% /run tmpfs 7.6G 0 7.6G 0% /sys/fs/cgroup /dev/vda1 50G 3.3G 44G 7% / /dev/vdb 1.0T 377G 648G 37% /app

client log: 2022-08-16 09:46:31,256 ERROR o.a.j.p.j.s.AbstractJavaSamplerClient: {} mq producer error : test-topic-qq-181Send [3] times, still failed, cost [23]ms, Topic: test-topic-qq-181, BrokersSent: [broker-a, broker-b, broker-a] See http://rocketmq.apache.org/docs/faq/ for further details. org.apache.rocketmq.client.exception.MQClientException: Send [3] times, still failed, cost [23]ms, Topic: test-topic-qq-181, BrokersSent: [broker-a, broker-b, broker-a] See http://rocketmq.apache.org/docs/faq/ for further details. at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.sendDefaultImpl(DefaultMQProducerImpl.java:664) ~[rocketmq-client-4.6.1.jar:4.6.1] at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.send(DefaultMQProducerImpl.java:1342) ~[rocketmq-client-4.6.1.jar:4.6.1] at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.send(DefaultMQProducerImpl.java:1288) ~[rocketmq-client-4.6.1.jar:4.6.1] at org.apache.rocketmq.client.producer.DefaultMQProducer.send(DefaultMQProducer.java:324) ~[rocketmq-client-4.6.1.jar:4.6.1] at com.xx.xx.producer(xx.java:63) ~[bprofile-test-1.0.0-SNAPSHOT.jar:?] at com.xx.xx.runTest(xx.java:44) ~[bprofile-test-1.0.0-SNAPSHOT.jar:?] at org.apache.jmeter.protocol.java.sampler.JavaSampler.sample(JavaSampler.java:197) ~[ApacheJMeter_java.jar:5.5] at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:651) ~[ApacheJMeter_core.jar:5.5] at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:570) ~[ApacheJMeter_core.jar:5.5] at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:501) ~[ApacheJMeter_core.jar:5.5] at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:268) ~[ApacheJMeter_core.jar:5.5] at java.lang.Thread.run(Thread.java:748) ~[?:1.8.0_192] 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.37 CQ: 0.37 INDEX: 0.37], messages are put to the slave, message store has been shut down, etc. For more information, please visit the url, http://rocketmq.apache.org/docs/faq/ at org.apache.rocketmq.client.impl.MQClientAPIImpl.processSendResponse(MQClientAPIImpl.java:709) ~[rocketmq-client-4.6.1.jar:4.6.1] at org.apache.rocketmq.client.impl.MQClientAPIImpl.sendMessageSync(MQClientAPIImpl.java:505) ~[rocketmq-client-4.6.1.jar:4.6.1] at org.apache.rocketmq.client.impl.MQClientAPIImpl.sendMessage(MQClientAPIImpl.java:487) ~[rocketmq-client-4.6.1.jar:4.6.1] at org.apache.rocketmq.client.impl.MQClientAPIImpl.sendMessage(MQClientAPIImpl.java:431) ~[rocketmq-client-4.6.1.jar:4.6.1] at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.sendKernelImpl(DefaultMQProducerImpl.java:853) ~[rocketmq-client-4.6.1.jar:4.6.1] at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.sendDefaultImpl(DefaultMQProducerImpl.java:583) ~[rocketmq-client-4.6.1.jar:4.6.1]

原提问者GitHub用户300682

展开
收起
芬奇福贵 2023-05-26 10:20:57 388 发布于北京 分享
分享
版权
举报
1 条回答
写回答
取消 提交回答
  • 错误似乎是由发送到从属节点的消息引起的。

    原回答者GitHub用户duhenglucky

    2023-05-26 16:48:54 发布于北京 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论

阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。

还有其他疑问?
咨询AI助理
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等