在大并发写时,HBase的HDFS DFSClient端报SocketTimeoutException的问题分析和解决

这篇博客分析了在大并发写操作中,HBase与HDFS交互时出现SocketTimeoutException的问题。异常发生在DFSOutputStream的ResponseProcessor中,由于等待通道准备读取超时导致。日志显示了错误恢复过程,包括尝试关闭故障的datanode。正常情况下,DFSClient写block数据的超时时间设置为180000毫秒,但在这个场景下出现了异常。博客讨论了可能的原因和潜在的解决策略。
摘要由CSDN通过智能技术生成

异常日志:

2012-03-02 12:11:21,983 WARN org.apache.hadoop.hdfs.DFSClient: DFSOutputStream ResponseProcessor exception  for block blk_1439491087566691588_6207java.net.SocketTimeoutException: 69000 millis timeout while waiting for channel to be ready for read. ch : java.nio.channels.SocketChannel[connected local=/dw1:54889 remote=/dw2:62010]
        at org.apache.hadoop.net.SocketIOWithTimeout.doIO(SocketIOWithTimeout.java:164)
        at org.apache.hadoop.net.SocketInputStream.read(SocketInputStream.java:150)
        at org.apache.hadoop.net.SocketInputStream.read(SocketInputStream.java:123)
        at java.io.DataInputStream.readFully(DataInputStream.java:178)
        at java.io.DataInputStream.readLong(DataInputStream.java:399

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值