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.conf
stop-writes-on-bgsave-error no

# vim /etc/sysctl.conf

vm.overcommit_memory = 1