Spark 1.6 и hadoop 2.3, где установить socketTimeOut для s3?

Мы получаем таймауты сокета во время чтения из s3. Документация об увеличении socketTimeOut не очевидна. Был бы признателен за любую помощь в этом.

java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
at java.net.SocketInputStream.read(SocketInputStream.java:170)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
at sun.security.ssl.InputRecord.readFully(InputRecord.java:465)
at sun.security.ssl.InputRecord.read(InputRecord.java:503)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973)
at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:930)
at sun.security.ssl.AppInputStream.read(AppInputStream.java:105)
at org.apache.http.impl.io.AbstractSessionInputBuffer.read(AbstractSessionInputBuffer.java:198)
at org.apache.http.impl.io.ContentLengthInputStream.read(ContentLengthInputStream.java:178)
at org.apache.http.impl.io.ContentLengthInputStream.read(ContentLengthInputStream.java:200)
at org.apache.http.impl.io.ContentLengthInputStream.close(ContentLengthInputStream.java:103)
at org.apache.http.conn.BasicManagedEntity.streamClosed(BasicManagedEntity.java:164)
at org.apache.http.conn.EofSensorInputStream.checkClose(EofSensorInputStream.java:227)
at org.apache.http.conn.EofSensorInputStream.close(EofSensorInputStream.java:174)
at org.apache.http.util.EntityUtils.consume(EntityUtils.java:88)
at org.jets3t.service.impl.rest.httpclient.HttpMethodReleaseInputStream.releaseConnection(HttpMethodReleaseInputStream.java:102)
at org.jets3t.service.impl.rest.httpclient.HttpMethodReleaseInputStream.close(HttpMethodReleaseInputStream.java:194)
at org.apache.hadoop.fs.s3native.NativeS3FileSystem$NativeS3FsInputStream.seek(NativeS3FileSystem.java:152)

person Tenzin    schedule 16.12.2016    source источник
comment
Вы нашли для этого решение?   -  person KobeJohn    schedule 28.12.2016


Ответы (1)


В S3n нет возможности устанавливать тайм-ауты сокетов. Также обратите внимание, что трассировка стека показывает, что клиент пытается прочитать до конца файла, поскольку он пытается закрыть () поток, прежде чем повторно открыть его в другом месте. Опять же, известное ограничение некоторых версий jets3t, отсюда и s3n. Это не будет исправлено в Hadoop, поскольку все разработки происходят на S3a на основе библиотеки AWS.

Пожалуйста, обновите Hadoop JAR до более поздней версии (2.7.x) и используйте s3a.

person stevel    schedule 31.12.2016