Bất kỳ ai đang sử dụng s3 trên Frankfurt bằng cách sử dụng hadoop/spark 1.6.0?Sử dụng S3 (Frankfurt) với Spark
Tôi cố gắng để lưu trữ các kết quả của một công việc trên s3, phụ thuộc của tôi được khai báo như sau:
"org.apache.spark" %% "spark-core" % "1.6.0" exclude("org.apache.hadoop", "hadoop-client"),
"org.apache.spark" %% "spark-sql" % "1.6.0",
"org.apache.hadoop" % "hadoop-client" % "2.7.2",
"org.apache.hadoop" % "hadoop-aws" % "2.7.2"
tôi đã thiết lập các cấu hình sau:
System.setProperty("com.amazonaws.services.s3.enableV4", "true")
sc.hadoopConfiguration.set("fs.s3a.endpoint", ""s3.eu-central-1.amazonaws.com")
Khi gọi saveAsTextFile
trên của tôi RDD nó bắt đầu ok, lưu tất cả mọi thứ trên S3. Tuy nhiên sau một thời gian khi nó được chuyển từ _temporary
đến đầu ra cuối cùng kết quả nó mang lại các lỗi:
Exception in thread "main" com.amazonaws.services.s3.model.AmazonS3Exception: Status Code: 403, AWS Service: Amazon S3, AWS Request ID: XXXXXXXXXXXXXXXX, AWS Error Code: SignatureDoesNotMatch, AWS Error Message: The request signature we calculated does not match the signature you provided. Check your key and signing method., S3 Extended Request ID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=
at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:798)
at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:421)
at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:232)
at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:3528)
at com.amazonaws.services.s3.AmazonS3Client.copyObject(AmazonS3Client.java:1507)
at com.amazonaws.services.s3.transfer.internal.CopyCallable.copyInOneChunk(CopyCallable.java:143)
at com.amazonaws.services.s3.transfer.internal.CopyCallable.call(CopyCallable.java:131)
at com.amazonaws.services.s3.transfer.internal.CopyMonitor.copy(CopyMonitor.java:189)
at com.amazonaws.services.s3.transfer.internal.CopyMonitor.call(CopyMonitor.java:134)
at com.amazonaws.services.s3.transfer.internal.CopyMonitor.call(CopyMonitor.java:46)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Nếu tôi sử dụng hadoop-client
từ gói spark nó thậm chí không bắt đầu chuyển. Lỗi xảy ra ngẫu nhiên, đôi khi nó hoạt động và đôi khi không.
có vẻ như một vấn đề với phím ssh của bạn. bạn có thể kiểm tra xem bạn có đang sử dụng đúng khóa không? – user1314742
Dữ liệu bắt đầu lưu vào s3 và sau một thời gian lỗi phát sinh. – flaviotruzzi
@flaviotruzzi Bạn đã giải quyết được vấn đề này chưa? – pangpang