Redis 报错:MISCONF Redis is configured to save RDB snapshots 时间: 2019-10-12 17:09 分类: JAVA 最近又重新捣腾了一下`Java torrent 爬虫项目`,主要是将数据不再直接存到`Elasticsearch`而是`MongBD`。 这个项目也是很久没有跑了,域名都快到期了,之前是放到一个高配的独立服务器上跑的,但是那个服务器需要跑其他的程序,而这个程序比较占用磁盘IO,经常导致`Elasticsearch`报错。 所以这次将`Kafka`、`Elasticsearch`装到一个6G内存、300G SSD的VPS上,个人感觉`Java`的应用程序实在太吃内存了,6G内存完全不够用,不过写这个项目之初就是用来实战`Spring cloud`微服务的,所以项目所有服务完全可以分散部署到多个服务器上,我这里服务器有限才将多个微服务以及`Mongo`、`Redis`、`Elasticsearch`、`Kafka`等全装到同一台服务器上单机部署,不过发现6G内存实在不够,于是只能把几个服务放到另一台服务器上去。 废话不多少了,还是回归标题的错误: > MISCONF Redis is configured to save RDB snapshots 之前在高配服务器上根本没出现过这个问题,今天就突然报了这个错误,而且不是一开始就报错而是运行一段时间后报的错误,网上一顿搜索,很多人都说执行如下配置: > config set stop-writes-on-bgsave-error no 结果发现不管是像上面那样临时配置该参数还是在`Redis`配置文件中配置后重启`Redis`,都只能临时的解决不再报错,运行一段时间过后,又会报同样的错误。 看错误日志,就是说内存不够用了,但快照又无法持久化到硬盘,查看磁盘空间发现磁盘空间还剩很多,那怎么会报这个错呢? 我是在`Ubuntu`上使用`apt-get install redis`安装的,查看`/etc/redis/redis.conf`,发现: > dir /var/lib/redis 虽然通过`df -h`查看磁盘空间完全够用,但`/var`下的空间可能挂载的比较少,所以将该参数改为磁盘空间足够的地方,我这里改成: > dir /usr/local/redis 重启`Redis`,跑过一段时间并未再报上面的错误。 标签: redis