HBase+HDFS出现的SocketTimeoutException错误

      HBase的SocketTimeoutException错误,这个是在HBase子节点中时常报的错误,如图:


       但是却没有影响集群运行,在网上搜集了很多资料,一直觉得这也是hdfs端错误造成的,查看hadoop中datanode子节点日志,意外发现这里面时常也会出现:


       查看了网上很多说明,最终都归结到dfs.socket.timeout这个配置项中来了,都说要同时在hdfs和hbase的配置文件中设置这个项,据说设180秒,可是设置完了发现还是不行,4800000毫秒秒这个错误还是未改变,按理再报错误应该是1800000毫秒超时了。一次偶然情况下,终于发现这两个问题的根源。

     第一个是HBase中的错误,配置调大hbase.rpc.timeout这个值即可避免,HBase默认的是60秒。而第二个,一直以来都考量不出480秒是从哪里来的,后来发现这个配置超时时间是由dfs.datanode.socket.write.timeout这个配置项决定的,默认是8分钟,已经够大了,但是面对hbase高速的数据插入感觉还是不行啊,所以可以适当调大。同时还可以配置dfs.datanode.handler.count,默认为10,调大这个datanode处理线程数,应该就可以缓解这个问题了。这也是HBase性能调优的一点内容吧。

     至于这个dfs.socket.timeout我目前为止,还是不了解,待后期更新吧,之所以一开始会想到更改它是出自这篇博客,见如下:http://heipark.iteye.com/blog/1485323唯一的不同大概它是ready for read,而我这边是ready for write吧。后期再继续阅读源码吧,解决了再来更新。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值