redis占用高内存导致的socket连接失败
Posted 疯子峰@自律给我自由
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis占用高内存导致的socket连接失败相关的知识,希望对你有一定的参考价值。
最近在搞ELK日志平台,部署filebeat收集日志时(输出到redis),出现了经典的【连接被目标机器积极拒绝】异常,
1)环境配置:
开发机,开发服务机(开发机上的virtualbox虚拟机,启动了ELK服务)、测试机、测试服务机(ELK)
2)本机(开发机)使用可输出日志到开发服务机 + 测试服务机
3)测试机可输出日志到开发服务机,配置为测试服务机则提示
【2017-04-07T13:39:52+08:00 ERR Connecting error publishing events (retrying): dial tcp 192.168.78.51:6379: connectex: No connection could be made because the target machine actively refused it.】
分析过程如下:
1)测试机上检查端口是否可用:telnet 192.168.78.51 6379,果然无法连接。
2)开发机上检查端口是否可用:telnet 192.168.78.51 6379,可以连接。
3)怀疑测试机上防火墙问题,关闭防火墙后还是连不上。
4)测试机上连接其他端口:telnet 192.168.78.51 22,居然可以连接
5)检查测试服务机:内存占用大
6)检查redis:居然有1千万条消息待处理
7)重启logstash读取消息后,测试机上telnet正常,收集日志成功。
8)几分钟后,错误又出现了。
9)测试机【192.168.78.177】上问题如下:
a. 与测试服务机【78.51】在同一网段
b. 测试机上telnet 另外一台服务器正常. telnet 192.168.78.52 1521
c. 执行b步骤后,再执行 telnet 192.168.78.51 6379 有可能成功
d. 无论是否执行b,执行 telnet 192.168.78.51 22 都成功
待续。。。。
以上是关于redis占用高内存导致的socket连接失败的主要内容,如果未能解决你的问题,请参考以下文章
Redis 故障排查「连接失败问题排查和解决」带你总体分析CPU及内存的使用率高问题排查指南及方案
Redis 故障排查「连接失败问题排查和解决」带你总体分析CPU及内存的使用率高问题排查指南及方案