Problem
When one runs a Datameer job connecting to an Amazon S3 bucket, it may fail with an error similar to:
ERROR [2018-05-15 23:22:43.398] [JobExecutionPlanRunner] (ClusterSession.java:252) - Failed to run cluster job 'Export job (52): ExpJob_05_13#export(Export record processor)' [0 sec]
awstasks.com.amazonaws.services.s3.model.AmazonS3Exception: Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: FB5C37FA2CF846C2), S3 Extended Request ID: eU5FGk2bL3+QhWCN6uFec2ufiqArOIuProt2/elQOEEcVnx1AKG3S+3bC4c2ur72l9SGkN39oWo=
at awstasks.com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleErrorResponse(AmazonHttpClient.java:1586)
at awstasks.com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeOneRequest(AmazonHttpClient.java:1254)
at awstasks.com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:1035)
at awstasks.com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:747)
at awstasks.com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:721)
at awstasks.com.amazonaws.http.AmazonHttpClient$RequestExecutor.execute(AmazonHttpClient.java:704)
at awstasks.com.amazonaws.http.AmazonHttpClient$RequestExecutor.access$500(AmazonHttpClient.java:672)
at awstasks.com.amazonaws.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute(AmazonHttpClient.java:654)
at awstasks.com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:518)
at awstasks.com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4158)
at awstasks.com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4105)
at awstasks.com.amazonaws.services.s3.AmazonS3Client.putObject(AmazonS3Client.java:1685)
at datameer.dap.hadoop.filesystem.DatameerS3FileSystem.mkdir(DatameerS3FileSystem.java:411)
at datameer.dap.hadoop.filesystem.DatameerS3FileSystem.mkdirs(DatameerS3FileSystem.java:397)
at org.apache.hadoop.fs.FileSystem.mkdirs(FileSystem.java:1881)
Cause
Datameer reads data from Amazon S3 buckets using the IAM credentials of the user who is configured to run the job. Usually, an "Access Denied" error indicates that you don't have permission to read the data in the bucket as well as be able to read and write to the results bucket.
Solution
Check that the bucket policies and object ACLs allow access to the objects in the buckets
Comments
0 comments
Please sign in to leave a comment.