db nosql redis / Redis Sentinel

s

Redis基础原理和日常操作方法

http://itsm.cns*****.com/kindeditor/img/20170527/759128afca564051b491e6a51a5bad40ab070d19e1a749fa.pptx

启动redis
su - redisuser -c "/opt/zedis/redis-server /opt/zedis/redis.conf"

检查redis
/opt/zedis/redis-cli

  

redis 数据量大,异常停机,不停全量同步问题
【问题概述】
reids 从机服务器宕机,当机器恢复,启动redis服务,redis从机自动发布全量同步且数据量超过5G以上,同步完一次,redis继续发出全量同步命令,循环进行同步全量。CPU消耗有告警。

【现象描述】
redis从机收到了主机的dump.rdb传输过来的文件,但是读取完毕后,从机继续向主机发起全量同步命令,并报IO error,
另一个错误是主机超时,主机在一定时间内ping从机无法得到回应,导致主机认为从机宕机,当从机恢复继续发出全量同步命令。
同时伴有CPU消耗增高。

【问题跟踪及分析】
这个问题是由redis配置文件中一个参数设置导致,在redis.conf中:
client-output-buffer-limit slave 256mb 64mb 60
这个参数配置,这个参数代表含义:负责发数据给slave的client,如果buffer超过256m或者连续60秒超过64m,就会被立刻强行关闭,就会导致循环同步

【解决方案】
设置client-output-buffer-limit 增加buffer和超时时间,可以在redis运行中设置(2.8.8版本中可以),删除已经生成的dump.rdb文件(根据情况,也可以不删),
再执行:
/opt/redis-2.8.8/src/redis-cli s*****config set client-output-buffer-limit 'slave 2gb 1gb 1200'

这样再次进行同步,循环同步数据问题解决.本次问题中,同步数据量为8GB,要根据数据量的大小来合理设置参数. 
在数据量低于7G情况下,可以不修改参数尝试去同步,但是数据量在超过7G(包括7GB),必须修改上面参数,主机先修改,从机再修改,删除dump文件,重新同步。

end

原文地址:https://www.cnblogs.com/lindows/p/7606763.html