首页 > 解决方案 > 在 AWS。我将结果整理到主节点上,然后准备写入 S3,但出现以下错误:

问题描述

在 Hadoop 中,我将结果整理到主节点上,然后准备写入 S3,但出现以下错误:

2019 年 8 月 18 日 20:10:13 WARN DataStreamer:BP-2033025931-192.168.3.27-1534682170082:blk_1073741835_1011 java.io.EOFException 异常:尝试从 org.apache.hadoop.hdfs 处的服务器读取响应时出现意外 EOF。 org.apache.hadoop.hdfs.protocol.datatransfer.PipelineAck.readFields(PipelineAck.java:213) 在 org.apache.hadoop.hdfs.DataStreamer$ResponseProcessor.run( DataStreamer.java:1073)

18/08/19 20:10:13警告DataStreAmer:BP-2033025931-192.168.3.27-1534682170082:BLK_1073741835_1011 IN PIPELINA中磁盘],DatanodeInfoWithStorage[192.168.3.183:50010,DS-54ceb3d7-fdc3-4a8e-8df1-ab9c53f25628,DISK],DatanodeInfoWithStorage[192.168.3.106:50010,DS-4640296a-8a2a-4223-97579-K5e]] datanode 0(DatanodeInfoWithStorage[192.168.3.141:50010,DS-fe8dd87d-2b16-4746-b5ee-c65a836cebb4,DISK]) 不好。

然后出现第二个错误:</p>

com.amazonaws.services.s3.model.AmazonS3Exception:在超时期限内未读取或写入您与服务器的套接字连接。空闲连接将被关闭。(服务:Amazon S3;状态代码:400;错误代码:RequestTimeout;请求 ID:BF10123C46AC4;S3 扩展请求 ID:SXF+/rJOtW8714PGg0GEz9bgJuKuf/2BNOskx0JdTa02g1a/3igd3vfuaO7zI=)

这两个requestID并不完整,因为我不知道他们能为他们做什么。

标签: amazon-web-serviceshadoopamazon-s3hdfs

解决方案


这次再次运行就没有这个错误了。我猜这是一个意外事件。然后我添加了以下代码:</p>

ClientConfiguration s3ClientConfig = new ClientConfiguration().withMaxErrorRetry(10)
            .withConnectionTimeout(3 * 60 * 1000)
            .withSocketTimeout(3 * 60 * 1000);

我希望它会在未来发挥作用。


推荐阅读