amazon-web-services - 在 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并不完整,因为我不知道他们能为他们做什么。
解决方案
这次再次运行就没有这个错误了。我猜这是一个意外事件。然后我添加了以下代码:</p>
ClientConfiguration s3ClientConfig = new ClientConfiguration().withMaxErrorRetry(10)
.withConnectionTimeout(3 * 60 * 1000)
.withSocketTimeout(3 * 60 * 1000);
我希望它会在未来发挥作用。
推荐阅读
- python - NameError:使用类时未定义名称“机器人”
- python - 每隔一分钟保存到文件的python键盘记录器
- javascript - 在 HTML 页面上显示某个部分时运行 JS
- android - Google Fit 等待多个结果
- javascript - 无法从服务器 .txt 文件中获取文件内容
- sql - 如何使用 SQL 自动递增覆盖整个列
- python-3.x - Python 模块打印正确的值,然后返回 None
- python - 比较 Python 列表中的字典并附加结果
- html - CSS 仅在有内容时显示空 DIV
- elixir - 在 Elixir 中杀死主管进程时杀死所有链接的子进程是一种好习惯吗?