我正在通过Spark Streaming S3访问遇到此异常。
java.lang.IllegalStateException: Socket not created by this factory
at org.apache.http.util.Asserts.check(Asserts.java:34)
at org.apache.http.conn.ssl.SSLSocketFactory.isSecure(SSLSocketFactory.java:435)...
at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:310)...
at org.apache.hadoop.fs.s3a.S3AFileSystem.verifyBucketExists ...
我已经尝试过这些步骤[[AWS Socket Not created by this factory或Cannot use AWS SDK in Spring Boot Application (Socket not created by this factory)等其他线程),但是没有用。
这些都不起作用,我被困了2天,这意味着我已经尝试了stackoverflow和Internet中的大多数解决方案。还有其他想法吗?
答案 0 :(得分:0)
这是“新的”,但是spark已升级到httpclient的版本,该版本在某些情况下会破坏hadoop 2.8中的s3a。这听起来像是症状之一
我建议您获取与您使用的Spark发行版一致的ASF hadoop下载,然后从该发行版中放入(hadoop-aws,aws- ,http )JAR。或通过-Phadoop-cloud配置文件来激发自己,让maven完成工作。