S3连接重置错误

Apache火花工作与S3连接重置失败错误。

写的arjun.kaimaparambilrajan

去年发表在:2022年3月15日

问题

您的Apache火花工作失败当试图采用S3操作。

造成的错误消息:java.net.SocketException:连接重置出现在堆栈跟踪。

堆栈跟踪例子从一个S3读操作:

引起的:javax.net.ssl.SSLException:连接重置;请求ID: XXXXX,扩展请求ID: XXXXX,云提供商:AWS,实例ID: i-XXXXXXXX sun.security.ssl.Alert.createSSLException (Alert.java: 127) sun.security.ssl.TransportContext.fatal (TransportContext.java: 324)…sun.security.ssl.SSLSocketImpl AppInputStream.read美元(SSLSocketImpl.java: 833) org.apache.http.impl.io.SessionInputBufferImpl.streamRead (SessionInputBufferImpl.java: 137)…在com.amazonaws.internal.SdkFilterInputStream.read org.apache.http.conn.EofSensorInputStream.read (EofSensorInputStream.java: 135) (SdkFilterInputStream.java: 90) com.amazonaws.event.ProgressInputStream.read (ProgressInputStream.java: 180) com.amazonaws.internal.SdkFilterInputStream.read (SdkFilterInputStream.java: 90)…引起的:java.net.SocketException:连接重置java.net.SocketInputStream.read (SocketInputStream.java: 210) java.net.SocketInputStream.read (SocketInputStream.java: 141) sun.security.ssl.SSLSocketInputRecord.read (SSLSocketInputRecord.java: 467) sun.security.ssl.SSLSocketInputRecord.readFully (SSLSocketInputRecord.java: 450) sun.security.ssl.SSLSocketInputRecord.decodeInputRecord (SSLSocketInputRecord.java: 243)

导致

Hadoop的旧版本S3连接器不重试SocketTimeoutExceptionSSLException错误。这些异常可能发生当一个客户端超时或服务器端超时,分别。

解决方案

这个问题已经解决在新版本的Hadoop S3连接器。砖上面运行时7.3 LTS和使用新的连接器。

  • 如果您使用的是砖运行时7.3 LTS以上,确保这些设置不存在集群的火花配置:
    spark.hadoop.fs.s3。impl com.databricks.s3a.S3AFileSystemspark.hadoop.fs.s3n.impl com.databricks.s3a.S3AFileSystem spark.hadoop.fs.s3a.impl com.databricks.s3a.S3AFileSystem
  • 如果您使用的是砖运行时7.0 - 7.2,升级到砖运行时7.3 LTS或以上。
  • 如果您使用的是砖或低于6.4运行时,联系支持援助。
这篇文章有用吗?