redis-cluster 单个节点不可用
背景:
公司的音视频 盗版检测业务,使用redis-cluster作为 key-value 数据库, 使用张图片的 特征hash值作key。因为数据量太大,机器有限,集群内没有slaver
问题描述
线上服务报错 (SCARD 4288594168) of pipeline caused error: MOVED 9239 10.xxx.xx.149:6390,这个端口 是redis集群中一个节点。
1 使用redis-trib check 10.xxx.xx.149:6390, 报 无法连接的错误
2 查看 6390节点的log, 报错 Error opening /setting AOF rewrite IPC pipes: Numerical result out of range
google了一番,发现这个链接 linkA:http://blog.csdn.net/syq521125/article/details/53006317里提到了如何解决。
我按照他的第2种说法 重启了redis, 我的aof文件 4.4G左右,大约几分钟 服务就起来了 ,重新执行redis-trib check 10.xxx.xx.149:6390, 集群已经能访问6390节点了。
我挂掉的这个节点的 内存消耗 已经达到了14.5g, 对应的aof文件4.4G。按照linkA种表达的问题,我需要对数据库的节点进行扩充,使单点的数据量减少。
我将集群中 redis实例数目加倍后,单点的内存消耗 7g左右,文件2G.觉得应该暂时安全了,以我的经验看,10g内存以下,还都是安全的。
自己的心理变化
这是我第一次遇到 线上的数据库挂掉,线上问题,谨小慎微,所以犹豫了1个小时,要不要重启,中间也查了好一会, 发现重启后还行,数据恢复的挺快。
最新文章
- js中字符串相关知识点总结
- Tableau修改参考线上显示的标签
- 循序渐进Python3(十一) --5-- 同源策略
- 管理系统UI: System Bar 详解
- 最小生成树练习2(Kruskal)
- html5 list属性、autocomplete属性、pattern属性
- CocoaPods详解之----制作篇【转】
- js(javascript) 继承的5种实现方式
- Struts2中Action接收参数的方法主要有以下三种:
- 初识DIV+CSS
- OpenSuSE Linux下安装Oracle10g的步骤
- web服务器之nginx和apache的区别
- 10、jstl标签库
- 手机端两端对齐,兼容ios,安卓
- like 内容转义
- [20170615]执行dbms_sqldiag.dump_trace看执行计划.txt
- ERC: Claim Holder #735 status:Discussion
- 【大数据系列】windows下连接Linux环境开发
- powerDesiner设计数据库的一些用法
- sharepoint 2013 sp1 patch安装后的手工运行