Hbase服务停了,Java项目没停止,Hbase重启,项目报错 java.io.IOException: Broken pipe

参考链接:https://blog.csdn.net/zqz_zqz/article/details/52235479

1. 问题描述:

tomcat项目,从hbase请求数据,一直都是正常的。但是为了 迁移hbase,将hbase停了二十分钟的服务,tomcat的项目并没有跟着一起停止,导致tomcat连接不上hbase,并且发生了连接数超过最大连接数,出现了报错:

org.apache.catalina.connector.ClientAbortException: java.io.IOException: Broken pipe

2. 查看并解决:

(1)用命令查看:  netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"\t",state[key]}'

得到CLOSE_WAIT 达到 3853 这么多,所以这个等待太多了。

CLOSE_WAIT        3853
TIME_WAIT         40
ESTABLISHED       285
LAST_ACT          6

(2) 用命令查看状态持续时间:sysctl -a |grep keepalive

得到时间是两小时  :net.ipv4.tcp_keepalive_time = 7200

(3)将tomcat项目重启,一切连接数归0,所以可以恢复正常了。

你可能感兴趣的:(HBase)