全部博文(150)
分类: 系统运维
2017-05-17 17:27:27
[ERROR] java.lang.NullPointerException at redis.clients.util.Pool.getActivePool(Pool.java:101)
初步定位应该是出在网络层面
检查网络
通过zabbix监控看到故障发生时redis主机网卡速度达到几百兆,其他期间只有几十兆。
检查网络突发速度的原因
故障期间redis备份脚本开始运行
备份脚本分析
脚本中通过 redis-cli save 完成备份, save命令需要同步, 所以运行期间其他提交更新的数据操作会被阻塞,直到save命令完成,所以本次故障的原因已经h
用bgsave命令替换save
备份脚本从redis的master迁移到slave
redis master只处理客户端的请求,不再负责备份。
限速备份脚本
脚本中scp复制rdb文件到备份存储机,scp增加-l 163840 参数,以20MB/s的速度进行拷贝,防止进程占用太多网络带宽。