Redis从端无法从主端同步数据,在日志中有如下报错信息:
找了一份2.6.16的源码,根据错误信息,定位到如下代码:
根据以上代码,到Redis主端执行BGSAVE,会报如下错误信息:
由此可以判定,是由于Redis主端无法写入落地文件导致,于是查看Redis主端的日志:
查阅相关资料,做如下操作:
1、执行Redis命令config set stop-writes-on-bgsave-error no
2、执行系统命令echo 1 > /proc/sys/vm/overcommit_memory
然后,再在Redis主端上执行BGSAVE,一切OK!
为了让配置永久生效,修改如下配置:# vim /usr/local/redis/etc/redis.confstop-writes-on-bgsave-error no
# vim /etc/sysctl.confvm.overcommit_memory = 1