记Hbase集群升级导致zookeeper连接数达Max的bug
概述:hbase由0.98升至1.2.6 AggregationClient类实现了closeable接口 需要关闭,然而代码编译过程中没有出现error,升级的时候封装类没有添加关闭的操作,导致页面访问时开启zookeeper连接过多并且不会关闭。最终引发一系列问题zookeeper拒绝hbase访问,数据存储失败。
最初开始出现状况是由于某些业务半夜会大批量访问hbase并且开启了大量的连接数,zookeeper超过连接数最大限制后拒绝了连接。开始只是重新设置了zookeeper最大连接数。然而后面第二次出现了相同问题,再重启web后错误消失。于是定位到web端有过多未关闭连接。起初怀疑每分钟的监控连接过多,全部改为短连接,但是zookeeper连接数并未减少。
自制的Web监控页面:
zk的连接数因为 AggregationClient 没有关闭 导致一直增大。