Amazon s3 在多部分上载到启用对象锁定的s3存储桶时遇到问题。S3存储桶配置为flink作业的StreamingSink
在启用对象锁定的S3存储桶上尝试使用flink执行多部分上载时遇到以下错误。s3 bucket设置为“治理模式”Amazon s3 在多部分上载到启用对象锁定的s3存储桶时遇到问题。S3存储桶配置为flink作业的StreamingSink,amazon-s3,apache-flink,Amazon S3,Apache Flink,在启用对象锁定的S3存储桶上尝试使用flink执行多部分上载时遇到以下错误。s3 bucket设置为“治理模式” 原因:org.apache.hadoop.fs.s3a.awsbadrequesteexception:upload part on/archived-0-0.txt:com.amazonaws.services.s3.model.amazons3异常:具有对象锁定参数的Put part请求需要Content-MD5 HTTP头(服务:Amazon S3;状态代码:400;错误代码
原因:org.apache.hadoop.fs.s3a.awsbadrequesteexception:upload part on/archived-0-0.txt:com.amazonaws.services.s3.model.amazons3异常:具有对象锁定参数的Put part请求需要Content-MD5 HTTP头(服务:Amazon S3;状态代码:400;错误代码:InvalidRequest;请求ID:FFC38B64B2A105CD;S3扩展请求ID:lihZrQenq3J5cl5lRhy+2vAMyKgOvwjLqnIGd4LhEd0LMjnghy/IBYNvkXG1aDZs6PLKMzPIw2Y=),S3扩展请求ID:lihZrQenq3J5cl5lRhy+2vAMyKgOvwjLqnIGd4LhEd0LMjnghy/IBYNvkXG1aDZs6PLKMzPIw2Y=:InvalidRequest:Content-MD5 HTTP头对于具有对象锁参数的Put部分请求是必需的(服务:Amazon S3;状态代码:400;错误代码:InvalidRequest;请求ID:FFC38B64B2A105CD;S3扩展请求ID:lihZrQenq3J5cl5lRhy+2vAMyKgOvwjLqnIGd4LhEd0LMjnghy/IBYNvkXG1aDZs6PLKMzPIw2Y=)
位于org.apache.hadoop.fs.s3a.S3AUtils.translateException(S3AUtils.java:212)
位于org.apache.hadoop.fs.s3a.Invoker.once(Invoker.java:111)
位于org.apache.hadoop.fs.s3a.Invoker.lambda$retry$3(Invoker.java:260)
位于org.apache.hadoop.fs.s3a.Invoker.retryUntranslated(Invoker.java:317)
位于org.apache.hadoop.fs.s3a.Invoker.retry(Invoker.java:256)
位于org.apache.hadoop.fs.s3a.Invoker.retry(Invoker.java:231)
位于org.apache.hadoop.fs.s3a.WriteOperationHelper.retry(WriteOperationHelper.java:123)
位于org.apache.hadoop.fs.s3a.WriteOperationHelper.uploadPart(WriteOperationHelper.java:471)
位于org.apache.flink.fs.s3hadoop.HadoopS3AccessHelper.uploadPart(HadoopS3AccessHelper.java:73)
位于org.apache.flink.fs.s3.common.writer.RecoverableMultipartPloadImpl$UploadTask.run(RecoverableMultipartPloadImpl.java:318)
位于org.apache.flink.fs.s3.common.utils.BackPressuringExecutor$SemaphoreReasingRunnable.run(BackPressuringExecutor.java:92)
位于java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
位于java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
…省略了1个公共帧
导致原因:com.amazonaws.services.s3.model.amazons3异常:具有对象锁定参数的Put部分请求需要Content-MD5 HTTP头(服务:Amazon s3;状态代码:400;错误代码:InvalidRequest;请求ID:FFC38B64B2A105CD;s3扩展请求ID:LihZrQENQ3J5CL5CL5LRHY+2vAMyKgOvwjLqnIGd4LhEd0LMjnghy/IBYNvkXG1aDZs6PLKMzPIw2Y=)
在com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleErrorResponse上(AmazonHttpClient.java:1639)
在com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeOneRequest(AmazonHttpClient.java:1304)
在com.amazonaws.http.AmazonHttpClient$RequestExecutor.executehelp(AmazonHttpClient.java:1056)
在com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:743)
在com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:717)
位于com.amazonaws.http.AmazonHttpClient$RequestExecutor.execute(AmazonHttpClient.java:699)
位于com.amazonaws.http.AmazonHttpClient$RequestExecutor.access$500(AmazonHttpClient.java:667)
在com.amazonaws.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute(AmazonHttpClient.java:649)上
在com.amazonaws.http.AmazonHttpClient.execute上(AmazonHttpClient.java:513)
位于com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4325)
位于com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4272)
位于com.amazonaws.services.s3.AmazonS3Client.doUploadPart(AmazonS3Client.java:3306)
位于com.amazonaws.services.s3.AmazonS3Client.uploadPart(AmazonS3Client.java:3291)
位于org.apache.hadoop.fs.s3a.S3AFileSystem.uploadPart(S3AFileSystem.java:1576)
位于org.apache.hadoop.fs.s3a.WriteOperationHelper.lambda$uploadPart$8(WriteOperationHelper.java:474)
位于org.apache.hadoop.fs.s3a.Invoker.once(Invoker.java:109)
…省略了12个公共帧```
尝试此页面并确保您使用的是最新的AWS更新
Caused by: org.apache.hadoop.fs.s3a.AWSBadRequestException: upload part on <path>/archived-0-0.txt: com.amazonaws.services.s3.model.AmazonS3Exception: Content-MD5 HTTP header is required for Put Part requests with Object Lock parameters (Service: Amazon S3; Status Code: 400; Error Code: InvalidRequest; Request ID: FFC38B64B2A105CD; S3 Extended Request ID: lihZrQenq3J5cl5lRhy+2vAMyKgOvwjLqnIGd4LhEd0LMjnghy/IBYNvkXG1aDZs6PLKMzPIw2Y=), S3 Extended Request ID: lihZrQenq3J5cl5lRhy+2vAMyKgOvwjLqnIGd4LhEd0LMjnghy/IBYNvkXG1aDZs6PLKMzPIw2Y=:InvalidRequest: Content-MD5 HTTP header is required for Put Part requests with Object Lock parameters (Service: Amazon S3; Status Code: 400; Error Code: InvalidRequest; Request ID: FFC38B64B2A105CD; S3 Extended Request ID: lihZrQenq3J5cl5lRhy+2vAMyKgOvwjLqnIGd4LhEd0LMjnghy/IBYNvkXG1aDZs6PLKMzPIw2Y=)
at org.apache.hadoop.fs.s3a.S3AUtils.translateException(S3AUtils.java:212)
at org.apache.hadoop.fs.s3a.Invoker.once(Invoker.java:111)
at org.apache.hadoop.fs.s3a.Invoker.lambda$retry$3(Invoker.java:260)
at org.apache.hadoop.fs.s3a.Invoker.retryUntranslated(Invoker.java:317)
at org.apache.hadoop.fs.s3a.Invoker.retry(Invoker.java:256)
at org.apache.hadoop.fs.s3a.Invoker.retry(Invoker.java:231)
at org.apache.hadoop.fs.s3a.WriteOperationHelper.retry(WriteOperationHelper.java:123)
at org.apache.hadoop.fs.s3a.WriteOperationHelper.uploadPart(WriteOperationHelper.java:471)
at org.apache.flink.fs.s3hadoop.HadoopS3AccessHelper.uploadPart(HadoopS3AccessHelper.java:73)
at org.apache.flink.fs.s3.common.writer.RecoverableMultiPartUploadImpl$UploadTask.run(RecoverableMultiPartUploadImpl.java:318)
at org.apache.flink.fs.s3.common.utils.BackPressuringExecutor$SemaphoreReleasingRunnable.run(BackPressuringExecutor.java:92)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
... 1 common frames omitted
Caused by: com.amazonaws.services.s3.model.AmazonS3Exception: Content-MD5 HTTP header is required for Put Part requests with Object Lock parameters (Service: Amazon S3; Status Code: 400; Error Code: InvalidRequest; Request ID: FFC38B64B2A105CD; S3 Extended Request ID: lihZrQenq3J5cl5lRhy+2vAMyKgOvwjLqnIGd4LhEd0LMjnghy/IBYNvkXG1aDZs6PLKMzPIw2Y=)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleErrorResponse(AmazonHttpClient.java:1639)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeOneRequest(AmazonHttpClient.java:1304)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:1056)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:743)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:717)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.execute(AmazonHttpClient.java:699)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.access$500(AmazonHttpClient.java:667)
at com.amazonaws.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute(AmazonHttpClient.java:649)
at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:513)
at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4325)
at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4272)
at com.amazonaws.services.s3.AmazonS3Client.doUploadPart(AmazonS3Client.java:3306)
at com.amazonaws.services.s3.AmazonS3Client.uploadPart(AmazonS3Client.java:3291)
at org.apache.hadoop.fs.s3a.S3AFileSystem.uploadPart(S3AFileSystem.java:1576)
at org.apache.hadoop.fs.s3a.WriteOperationHelper.lambda$uploadPart$8(WriteOperationHelper.java:474)
at org.apache.hadoop.fs.s3a.Invoker.once(Invoker.java:109)
... 12 common frames omitted```