Redis从端无法从主端同步数据,在日志中有如下报错信息:

154954781.jpg


找了一份2.6.16的源码,根据错误信息,定位到如下代码:

155021397.jpg


根据以上代码,到Redis主端执行BGSAVE,会报如下错误信息:

155059226.jpg


由此可以判定,是由于Redis主端无法写入落地文件导致,于是查看Redis主端的日志:

155127940.jpg


查阅相关资料,做如下操作:

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