CHD网卡问题的影响
1. 问题起因:
有开发同学访问hbase的时候, 开30个线程, 每个线程2k条查询, 每次都报错, 上个月跑的时候还是可以的
后来我自己单线程,1k条访问倒是可以跑出来的,就是太慢了,不满足时效性的要求
一开始以为是本地性比较差,开了大合并,最后大合并完发现其他的region都合并完了, 就剩下一个还没合并完,原因是合并的线程都被占满了 (一个伏笔)
后续的debug也是围绕在hbase表上, 还有就是grafana监控看到访问的时候 机器负载 和 网络连接数 增加的很快, 就去看查询服务是不是做了什么修改,导致
网络连接数 上升很快 (代码并没有什么改动)
2. 解决:
后来无意间在cdh上查看主机的状态,发现有个主机有问题
然后联系运维, 最后运维同学看下来是 网卡 速率问题,只能工作在100M, 最后换了网卡就好了 (为啥好了呢? 因为访问hbase不超时了)
在CDH上查到了相关的信息, 这大概就是CDH做预警的原因
3. 回顾
由于这个hbase集群一直作为备份并没有提供服务, 所以这种问题发现的比较晚, 但是我这边因为备份, 每天还是有导数据的任务在跑着, 当时就导数据的时候发生过疑问,导数据的时候使用distcp, 但是hbase集群的磁盘IO很是不稳定, 可以确保的是期间并没有distcp停止/新的任务加进来
在网卡换了之后, distcp就很平稳了
再回想起就那个机器上的大合并队列很满, 导致那个表大合并之后, 那个机器上的region并没有大合并
可以很明显的看到有个region的文件还是很多
最后做下总结, 网卡出了问题, 读数据会受到影响
- 大合并 (需要跨网络拉数据)
- hdfs的复制 (跨网络传输数据)
- hbase的读服务 (跨网络传输数据)