Rocket MQ写入消息报错: service not available now, maybe disk full

一曲冷凌霜 提交于 2019-12-09 23:54:11

前言:测试服的一台kafka好久没有接收到消息了,看了下日志,maybe disk full。。。。。

问题分析:

提示很明确嘛,磁盘占用问题。想来配置broker的时候有个占比参数 diskMaxUsedSpaceRatio=75%,应该是说 磁盘占用到这个比例就开始报警了。

一开始我以为是 消息数据占到了磁盘的75%,df -h 命令 看下磁盘的占用情况

storePathRootDir=/home/rocket  看了下归属,/目录确实占用了 96%。想当然的改了存储数据的根路径到 还有41G剩余空间的/mnt目录下,重启测试写消息

还是不行,然后立马想到,获取的可能是程序所在磁盘的占比,程序也在 /目录下,遂转移程序到 /mnt目录下,重启 nameserver 和 broker,写消息成功了

总结:

diskMaxUsedSpaceRatio=75%  磁盘占比判断的是MQ程序所在磁盘的占比,部署时应该将程序和数据都放在剩余空间足够的磁盘中。

后记:

刚写完博客,回去一看,又报错了,查了查还有个 storePathCommitLog 路径忘记改了,啪啪打脸,所以记得 rocketmqHome、storePathRootDir、storePathCommitLog 都要放在空间足够的磁盘下的目录里面。。。

最后再研究,其实关注的是 commitLogDiskRatio、consumeQueueDiskRatio,分别对应 storePathCommitLog 、storePathRootDir

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!