Команды Dbutils () выдают странное исключение прав доступа - PullRequest
0 голосов
/ 12 апреля 2020

Я создал учетную запись базы данных и добавил свою учетную запись с помощью root AWS ключей доступа (я знаю, что это не рекомендуется, но пробовал через роль кросс-аккаунта, но это тоже не работало). Эти root ключи доступа должны иметь доступ ко всей моей учетной записи AWS, однако, когда я звоню.

dbutils.fs.ls('/mnt')

Просто базовый c список файлов в моем каталоге , Я получаю эту ошибку:

ExecutionError: An error occurred while calling z:com.databricks.backend.daemon.dbutils.FSUtils.ls.
: java.lang.RuntimeException: java.io.IOException: Failed to perform 'getMountFileState(forceRefresh=true)' for mounts after 3 attempts. Please, retry the operation.
Original exception: 'com.amazonaws.services.s3.model.AmazonS3Exception: Forbidden; request: HEAD https://auto-emailer.s3.amazonaws.com oregon-prod/3323621803827190.meta/mounts {} aws-sdk-java/1.11.602 Linux/4.4.0-1104-aws OpenJDK_64-Bit_Server_VM/25.242-b08 java/1.8.0_242 scala/2.12.10 vendor/Private_Build com.amazonaws.services.s3.model.GetObjectMetadataRequest; Request ID: 640F00A5A05F37B3, Extended Request ID: GMSFv0QNFog8PqLBYz8Hre9W5ttMpCLOKNQPPingLc2t1/XFUxn5RdkdBtIYGUbeHYVvIkIM7IY=, Cloud Provider: AWS, Instance ID: i-0acc5354538e76431 (Service: Amazon S3; Status Code: 403; Error Code: 403 Forbidden; Request ID: 640F00A5A05F37B3; S3 Extended Request ID: GMSFv0QNFog8PqLBYz8Hre9W5ttMpCLOKNQPPingLc2t1/XFUxn5RdkdBtIYGUbeHYVvIkIM7IY=), S3 Extended Request ID: GMSFv0QNFog8PqLBYz8Hre9W5ttMpCLOKNQPPingLc2t1/XFUxn5RdkdBtIYGUbeHYVvIkIM7IY=
    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleErrorResponse(AmazonHttpClient.java:1712)
    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeOneRequest(AmazonHttpClient.java:1367)
    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:1113)
    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:770)
    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:744)
    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.execute(AmazonHttpClient.java:726)
    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.access$500(AmazonHttpClient.java:686)
    at com.amazonaws.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute(AmazonHttpClient.java:668)
    at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:532)
    at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:512)
    at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4921)
    at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4867)
    at com.amazonaws.services.s3.AmazonS3Client.getObjectMetadata(AmazonS3Client.java:1320)
    at com.databricks.s3a.aws.EnforcingDatabricksS3Client.$anonfun$getObjectMetadata$1(EnforcingDatabricksS3Client.scala:223)
    at scala.util.Try$.apply(Try.scala:213)
    at com.databricks.s3a.aws.DatabricksS3Client.retryRequest(DatabricksS3Client.scala:137)
    at com.databricks.s3a.aws.DatabricksS3Client.withExponentialBackoff(DatabricksS3Client.scala:111)
    at com.databricks.s3a.aws.DatabricksS3Client.withExponentialBackoff$(DatabricksS3Client.scala:109)
    at com.databricks.s3a.aws.EnforcingDatabricksS3Client.withExponentialBackoff(EnforcingDatabricksS3Client.scala:28)
    at com.databricks.s3a.aws.EnforcingDatabricksS3Client.getObjectMetadata(EnforcingDatabricksS3Client.scala:223)
    at com.databricks.s3a.S3AFileSystem.getObjectMetadata(S3AFileSystem.java:1948)
    at com.databricks.s3a.S3AFileSystem.getFileStatus(S3AFileSystem.java:1450)
    at com.databricks.s3a.S3AFileSystem.open(S3AFileSystem.java:663)
    at org.apache.hadoop.fs.FileSystem.open(FileSystem.java:769)
    at com.databricks.backend.daemon.data.server.DefaultMetadataManager.liftedTree1$1(MetadataManager.scala:156)
    at com.databricks.backend.daemon.data.server.DefaultMetadataManager.$anonfun$getMountFileState$1(MetadataManager.scala:151)
    at com.databricks.backend.daemon.data.server.DefaultMetadataManager.withRetries(MetadataManager.scala:326)
    at com.databricks.backend.daemon.data.server.DefaultMetadataManager.getMountFileState(MetadataManager.scala:150)
    at com.databricks.backend.daemon.data.server.DefaultMetadataManager.getMounts(MetadataManager.scala:200)
    at com.databricks.backend.daemon.data.filesystem.MountEntryResolver.retrieveFilesystems(MountEntryResolver.scala:76)
    at com.databricks.backend.daemon.data.filesystem.MountEntryResolver.<init>(MountEntryResolver.scala:33)
    at com.databricks.backend.daemon.data.server.DbfsServerBackend.makeSessionContext(DbfsServerBackend.scala:242)
    at com.databricks.backend.daemon.data.server.DbfsServerBackend.$anonfun$receive$2(DbfsServerBackend.scala:280)
    at com.databricks.backend.daemon.data.server.session.SessionManager.createSession(SessionManager.scala:193)
    at com.databricks.backend.daemon.data.server.DbfsServerBackend$$anonfun$receive$3.applyOrElse(DbfsServerBackend.scala:285)
    at com.databricks.backend.daemon.data.server.DbfsServerBackend$$anonfun$receive$3.applyOrElse(DbfsServerBackend.scala:282)
    at com.databricks.rpc.ServerBackend.$anonfun$internalReceive$2(ServerBackend.scala:52)
    at com.databricks.rpc.ServerBackend$$anonfun$commonReceive$1.applyOrElse(ServerBackend.scala:79)
    at com.databricks.rpc.ServerBackend$$anonfun$commonReceive$1.applyOrElse(ServerBackend.scala:79)
    at com.databricks.rpc.ServerBackend.$anonfun$internalReceive$1(ServerBackend.scala:48)
    at com.databricks.logging.UsageLogging.$anonfun$recordOperation$4(UsageLogging.scala:428)
    at com.databricks.logging.UsageLogging.$anonfun$withAttributionContext$1(UsageLogging.scala:238)
    at scala.util.DynamicVariable.withValue(DynamicVariable.scala:62)
    at com.databricks.logging.UsageLogging.withAttributionContext(UsageLogging.scala:233)
    at com.databricks.logging.UsageLogging.withAttributionContext$(UsageLogging.scala:230)
    at com.databricks.rpc.ServerBackend.withAttributionContext(ServerBackend.scala:15)
    at com.databricks.logging.UsageLogging.withAttributionTags(UsageLogging.scala:275)
    at com.databricks.logging.UsageLogging.withAttributionTags$(UsageLogging.scala:268)
    at com.databricks.rpc.ServerBackend.withAttributionTags(ServerBackend.scala:15)
    at com.databricks.logging.UsageLogging.recordOperation(UsageLogging.scala:409)
    at com.databricks.logging.UsageLogging.recordOperation$(UsageLogging.scala:336)
    at com.databricks.rpc.ServerBackend.recordOperation(ServerBackend.scala:15)
    at com.databricks.rpc.ServerBackend.internalReceive(ServerBackend.scala:47)
    at com.databricks.rpc.JettyServer$RequestManager.$anonfun$handleRPC$2(JettyServer.scala:611)
    at scala.util.Try$.apply(Try.scala:213)
    at com.databricks.rpc.JettyServer$RequestManager.handleRPC(JettyServer.scala:611)
    at com.databricks.rpc.JettyServer$RequestManager.handleRequestAndRespond(JettyServer.scala:534)
    at com.databricks.rpc.JettyServer$RequestManager.$anonfun$handleHttp$4(JettyServer.scala:321)
    at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
    at com.databricks.logging.UsageLogging.$anonfun$withAttributionContext$1(UsageLogging.scala:238)
    at scala.util.DynamicVariable.withValue(DynamicVariable.scala:62)
    at com.databricks.logging.UsageLogging.withAttributionContext(UsageLogging.scala:233)
    at com.databricks.logging.UsageLogging.withAttributionContext$(UsageLogging.scala:230)
    at com.databricks.rpc.JettyServer$.withAttributionContext(JettyServer.scala:152)
    at com.databricks.logging.UsageLogging.withAttributionTags(UsageLogging.scala:275)
    at com.databricks.logging.UsageLogging.withAttributionTags$(UsageLogging.scala:268)
    at com.databricks.rpc.JettyServer$.withAttributionTags(JettyServer.scala:152)
    at com.databricks.rpc.JettyServer$RequestManager.handleHttp(JettyServer.scala:310)
    at com.databricks.rpc.JettyServer$RequestManager.doPost(JettyServer.scala:217)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
    at com.databricks.rpc.HttpServletWithPatch.service(HttpServletWithPatch.scala:33)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:848)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
    at org.eclipse.jetty.server.Server.handle(Server.java:539)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
    at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283)
    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
    at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
    at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
    at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
    at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
    at java.lang.Thread.run(Thread.java:748)
'
    at org.apache.hadoop.mapred.JobConf.getWorkingDirectory(JobConf.java:660)
    at org.apache.hadoop.mapred.FileInputFormat.setInputPaths(FileInputFormat.java:438)
    at org.apache.hadoop.mapred.FileInputFormat.setInputPaths(FileInputFormat.java:411)
    at org.apache.spark.api.python.PythonSecurityUtils$.resolvePaths(PythonSecurityUtils.scala:246)
    at org.apache.spark.api.python.PythonSecurityUtils$.checkPathStringFileSystemSafety(PythonSecurityUtils.scala:258)
    at com.databricks.backend.daemon.dbutils.FSUtils$.com$databricks$backend$daemon$dbutils$FSUtils$$withFsSafetyCheck(DBUtilsCore.scala:80)
    at com.databricks.backend.daemon.dbutils.FSUtils$.ls(DBUtilsCore.scala:85)
    at com.databricks.backend.daemon.dbutils.FSUtils.ls(DBUtilsCore.scala)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244)
    at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:380)
    at py4j.Gateway.invoke(Gateway.java:295)
    at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)
    at py4j.commands.CallCommand.execute(CallCommand.java:79)
    at py4j.GatewayConnection.run(GatewayConnection.java:251)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.IOException: Failed to perform 'getMountFileState(forceRefresh=true)' for mounts after 3 attempts. Please, retry the operation.
Original exception: 'com.amazonaws.services.s3.model.AmazonS3Exception: Forbidden; request: HEAD https://auto-emailer.s3.amazonaws.com oregon-prod/3323621803827190.meta/mounts {} aws-sdk-java/1.11.602 Linux/4.4.0-1104-aws OpenJDK_64-Bit_Server_VM/25.242-b08 java/1.8.0_242 scala/2.12.10 vendor/Private_Build com.amazonaws.services.s3.model.GetObjectMetadataRequest; Request ID: 640F00A5A05F37B3, Extended Request ID: GMSFv0QNFog8PqLBYz8Hre9W5ttMpCLOKNQPPingLc2t1/XFUxn5RdkdBtIYGUbeHYVvIkIM7IY=, Cloud Provider: AWS, Instance ID: i-0acc5354538e76431 (Service: Amazon S3; Status Code: 403; Error Code: 403 Forbidden; Request ID: 640F00A5A05F37B3; S3 Extended Request ID: GMSFv0QNFog8PqLBYz8Hre9W5ttMpCLOKNQPPingLc2t1/XFUxn5RdkdBtIYGUbeHYVvIkIM7IY=), S3 Extended Request ID: GMSFv0QNFog8PqLBYz8Hre9W5ttMpCLOKNQPPingLc2t1/XFUxn5RdkdBtIYGUbeHYVvIkIM7IY=
    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleErrorResponse(AmazonHttpClient.java:1712)
    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeOneRequest(AmazonHttpClient.java:1367)
    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:1113)
    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:770)
    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:744)
    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.execute(AmazonHttpClient.java:726)
    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.access$500(AmazonHttpClient.java:686)
    at com.amazonaws.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute(AmazonHttpClient.java:668)
    at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:532)
    at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:512)
    at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4921)
    at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4867)
    at com.amazonaws.services.s3.AmazonS3Client.getObjectMetadata(AmazonS3Client.java:1320)
    at com.databricks.s3a.aws.EnforcingDatabricksS3Client.$anonfun$getObjectMetadata$1(EnforcingDatabricksS3Client.scala:223)
    at scala.util.Try$.apply(Try.scala:213)
    at com.databricks.s3a.aws.DatabricksS3Client.retryRequest(DatabricksS3Client.scala:137)
    at com.databricks.s3a.aws.DatabricksS3Client.withExponentialBackoff(DatabricksS3Client.scala:111)
    at com.databricks.s3a.aws.DatabricksS3Client.withExponentialBackoff$(DatabricksS3Client.scala:109)
    at com.databricks.s3a.aws.EnforcingDatabricksS3Client.withExponentialBackoff(EnforcingDatabricksS3Client.scala:28)
    at com.databricks.s3a.aws.EnforcingDatabricksS3Client.getObjectMetadata(EnforcingDatabricksS3Client.scala:223)
    at com.databricks.s3a.S3AFileSystem.getObjectMetadata(S3AFileSystem.java:1948)
    at com.databricks.s3a.S3AFileSystem.getFileStatus(S3AFileSystem.java:1450)
    at com.databricks.s3a.S3AFileSystem.open(S3AFileSystem.java:663)
    at org.apache.hadoop.fs.FileSystem.open(FileSystem.java:769)
    at com.databricks.backend.daemon.data.server.DefaultMetadataManager.liftedTree1$1(MetadataManager.scala:156)
    at com.databricks.backend.daemon.data.server.DefaultMetadataManager.$anonfun$getMountFileState$1(MetadataManager.scala:151)
    at com.databricks.backend.daemon.data.server.DefaultMetadataManager.withRetries(MetadataManager.scala:326)
    at com.databricks.backend.daemon.data.server.DefaultMetadataManager.getMountFileState(MetadataManager.scala:150)
    at com.databricks.backend.daemon.data.server.DefaultMetadataManager.getMounts(MetadataManager.scala:200)
    at com.databricks.backend.daemon.data.filesystem.MountEntryResolver.retrieveFilesystems(MountEntryResolver.scala:76)
    at com.databricks.backend.daemon.data.filesystem.MountEntryResolver.<init>(MountEntryResolver.scala:33)
    at com.databricks.backend.daemon.data.server.DbfsServerBackend.makeSessionContext(DbfsServerBackend.scala:242)
    at com.databricks.backend.daemon.data.server.DbfsServerBackend.$anonfun$receive$2(DbfsServerBackend.scala:280)
    at com.databricks.backend.daemon.data.server.session.SessionManager.createSession(SessionManager.scala:193)
    at com.databricks.backend.daemon.data.server.DbfsServerBackend$$anonfun$receive$3.applyOrElse(DbfsServerBackend.scala:285)
    at com.databricks.backend.daemon.data.server.DbfsServerBackend$$anonfun$receive$3.applyOrElse(DbfsServerBackend.scala:282)
    at com.databricks.rpc.ServerBackend.$anonfun$internalReceive$2(ServerBackend.scala:52)
    at com.databricks.rpc.ServerBackend$$anonfun$commonReceive$1.applyOrElse(ServerBackend.scala:79)
    at com.databricks.rpc.ServerBackend$$anonfun$commonReceive$1.applyOrElse(ServerBackend.scala:79)
    at com.databricks.rpc.ServerBackend.$anonfun$internalReceive$1(ServerBackend.scala:48)
    at com.databricks.logging.UsageLogging.$anonfun$recordOperation$4(UsageLogging.scala:428)
    at com.databricks.logging.UsageLogging.$anonfun$withAttributionContext$1(UsageLogging.scala:238)
    at scala.util.DynamicVariable.withValue(DynamicVariable.scala:62)
    at com.databricks.logging.UsageLogging.withAttributionContext(UsageLogging.scala:233)
    at com.databricks.logging.UsageLogging.withAttributionContext$(UsageLogging.scala:230)
    at com.databricks.rpc.ServerBackend.withAttributionContext(ServerBackend.scala:15)
    at com.databricks.logging.UsageLogging.withAttributionTags(UsageLogging.scala:275)
    at com.databricks.logging.UsageLogging.withAttributionTags$(UsageLogging.scala:268)
    at com.databricks.rpc.ServerBackend.withAttributionTags(ServerBackend.scala:15)
    at com.databricks.logging.UsageLogging.recordOperation(UsageLogging.scala:409)
    at com.databricks.logging.UsageLogging.recordOperation$(UsageLogging.scala:336)
    at com.databricks.rpc.ServerBackend.recordOperation(ServerBackend.scala:15)
    at com.databricks.rpc.ServerBackend.internalReceive(ServerBackend.scala:47)
    at com.databricks.rpc.JettyServer$RequestManager.$anonfun$handleRPC$2(JettyServer.scala:611)
    at scala.util.Try$.apply(Try.scala:213)
    at com.databricks.rpc.JettyServer$RequestManager.handleRPC(JettyServer.scala:611)
    at com.databricks.rpc.JettyServer$RequestManager.handleRequestAndRespond(JettyServer.scala:534)
    at com.databricks.rpc.JettyServer$RequestManager.$anonfun$handleHttp$4(JettyServer.scala:321)
    at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
    at com.databricks.logging.UsageLogging.$anonfun$withAttributionContext$1(UsageLogging.scala:238)
    at scala.util.DynamicVariable.withValue(DynamicVariable.scala:62)
    at com.databricks.logging.UsageLogging.withAttributionContext(UsageLogging.scala:233)
    at com.databricks.logging.UsageLogging.withAttributionContext$(UsageLogging.scala:230)
    at com.databricks.rpc.JettyServer$.withAttributionContext(JettyServer.scala:152)
    at com.databricks.logging.UsageLogging.withAttributionTags(UsageLogging.scala:275)
    at com.databricks.logging.UsageLogging.withAttributionTags$(UsageLogging.scala:268)
    at com.databricks.rpc.JettyServer$.withAttributionTags(JettyServer.scala:152)
    at com.databricks.rpc.JettyServer$RequestManager.handleHttp(JettyServer.scala:310)
    at com.databricks.rpc.JettyServer$RequestManager.doPost(JettyServer.scala:217)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
    at com.databricks.rpc.HttpServletWithPatch.service(HttpServletWithPatch.scala:33)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:848)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
    at org.eclipse.jetty.server.Server.handle(Server.java:539)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
    at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283)
    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
    at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
    at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
    at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
    at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
    at java.lang.Thread.run(Thread.java:748)
'
    at com.databricks.backend.daemon.data.client.DbfsClient.send0(DbfsClient.scala:117)
    at com.databricks.backend.daemon.data.client.DbfsClient.sendIdempotent(DbfsClient.scala:63)
    at com.databricks.backend.daemon.data.client.DatabricksMountsStore.com$databricks$backend$daemon$data$client$DatabricksMountsStore$$refreshMounts(DatabricksMountsStore.scala:92)
    at com.databricks.backend.daemon.data.client.DatabricksMountsStore.forceRefreshMounts(DatabricksMountsStore.scala:127)
    at com.databricks.backend.daemon.data.client.SharedDatabricksMountsStore$.getOrCreate(DatabricksMountsStore.scala:189)
    at com.databricks.backend.daemon.data.client.DBFSV2$$anonfun$initialize$2.apply(DatabricksFileSystemV2.scala:72)
    at com.databricks.backend.daemon.data.client.DBFSV2$$anonfun$initialize$2.apply(DatabricksFileSystemV2.scala:64)
    at com.databricks.logging.UsageLogging$$anonfun$recordOperation$1.apply(UsageLogging.scala:428)
    at com.databricks.logging.UsageLogging$$anonfun$withAttributionContext$1.apply(UsageLogging.scala:238)
    at scala.util.DynamicVariable.withValue(DynamicVariable.scala:58)
    at com.databricks.logging.UsageLogging$class.withAttributionContext(UsageLogging.scala:233)
    at com.databricks.backend.daemon.data.client.DatabricksFileSystemV2.withAttributionContext(DatabricksFileSystemV2.scala:450)
    at com.databricks.logging.UsageLogging$class.withAttributionTags(UsageLogging.scala:275)
    at com.databricks.backend.daemon.data.client.DatabricksFileSystemV2.withAttributionTags(DatabricksFileSystemV2.scala:450)
    at com.databricks.logging.UsageLogging$class.recordOperation(UsageLogging.scala:409)
    at com.databricks.backend.daemon.data.client.DatabricksFileSystemV2.recordOperation(DatabricksFileSystemV2.scala:450)
    at com.databricks.backend.daemon.data.client.DBFSV2.initialize(DatabricksFileSystemV2.scala:64)
    at com.databricks.backend.daemon.data.client.DatabricksFileSystem.initialize(DatabricksFileSystem.scala:226)
    at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2669)
    at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:94)
    at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2703)
    at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2685)
    at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:373)
    at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:172)
    at org.apache.hadoop.mapred.JobConf.getWorkingDirectory(JobConf.java:656)
    ... 18 more
Caused by: java.io.IOException: Failed to perform 'getMountFileState(forceRefresh=true)' for mounts after 3 attempts. Please, retry the operation.
Original exception: 'com.amazonaws.services.s3.model.AmazonS3Exception: Forbidden; request: HEAD https://auto-emailer.s3.amazonaws.com oregon-prod/3323621803827190.meta/mounts {} aws-sdk-java/1.11.602 Linux/4.4.0-1104-aws OpenJDK_64-Bit_Server_VM/25.242-b08 java/1.8.0_242 scala/2.12.10 vendor/Private_Build com.amazonaws.services.s3.model.GetObjectMetadataRequest; Request ID: 640F00A5A05F37B3, Extended Request ID: GMSFv0QNFog8PqLBYz8Hre9W5ttMpCLOKNQPPingLc2t1/XFUxn5RdkdBtIYGUbeHYVvIkIM7IY=, Cloud Provider: AWS, Instance ID: i-0acc5354538e76431 (Service: Amazon S3; Status Code: 403; Error Code: 403 Forbidden; Request ID: 640F00A5A05F37B3; S3 Extended Request ID: GMSFv0QNFog8PqLBYz8Hre9W5ttMpCLOKNQPPingLc2t1/XFUxn5RdkdBtIYGUbeHYVvIkIM7IY=), S3 Extended Request ID: GMSFv0QNFog8PqLBYz8Hre9W5ttMpCLOKNQPPingLc2t1/XFUxn5RdkdBtIYGUbeHYVvIkIM7IY=
    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleErrorResponse(AmazonHttpClient.java:1712)
    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeOneRequest(AmazonHttpClient.java:1367)
    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:1113)
    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:770)
    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:744)
    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.execute(AmazonHttpClient.java:726)
    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.access$500(AmazonHttpClient.java:686)
    at com.amazonaws.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute(AmazonHttpClient.java:668)
    at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:532)
    at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:512)
    at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4921)
    at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4867)
    at com.amazonaws.services.s3.AmazonS3Client.getObjectMetadata(AmazonS3Client.java:1320)
    at com.databricks.s3a.aws.EnforcingDatabricksS3Client.$anonfun$getObjectMetadata$1(EnforcingDatabricksS3Client.scala:223)
    at scala.util.Try$.apply(Try.scala:213)
    at com.databricks.s3a.aws.DatabricksS3Client.retryRequest(DatabricksS3Client.scala:137)
    at com.databricks.s3a.aws.DatabricksS3Client.withExponentialBackoff(DatabricksS3Client.scala:111)
    at com.databricks.s3a.aws.DatabricksS3Client.withExponentialBackoff$(DatabricksS3Client.scala:109)
    at com.databricks.s3a.aws.EnforcingDatabricksS3Client.withExponentialBackoff(EnforcingDatabricksS3Client.scala:28)
    at com.databricks.s3a.aws.EnforcingDatabricksS3Client.getObjectMetadata(EnforcingDatabricksS3Client.scala:223)
    at com.databricks.s3a.S3AFileSystem.getObjectMetadata(S3AFileSystem.java:1948)
    at com.databricks.s3a.S3AFileSystem.getFileStatus(S3AFileSystem.java:1450)
    at com.databricks.s3a.S3AFileSystem.open(S3AFileSystem.java:663)
    at org.apache.hadoop.fs.FileSystem.open(FileSystem.java:769)
    at com.databricks.backend.daemon.data.server.DefaultMetadataManager.liftedTree1$1(MetadataManager.scala:156)
    at com.databricks.backend.daemon.data.server.DefaultMetadataManager.$anonfun$getMountFileState$1(MetadataManager.scala:151)
    at com.databricks.backend.daemon.data.server.DefaultMetadataManager.withRetries(MetadataManager.scala:326)
    at com.databricks.backend.daemon.data.server.DefaultMetadataManager.getMountFileState(MetadataManager.scala:150)
    at com.databricks.backend.daemon.data.server.DefaultMetadataManager.getMounts(MetadataManager.scala:200)
    at com.databricks.backend.daemon.data.filesystem.MountEntryResolver.retrieveFilesystems(MountEntryResolver.scala:76)
    at com.databricks.backend.daemon.data.filesystem.MountEntryResolver.<init>(MountEntryResolver.scala:33)
    at com.databricks.backend.daemon.data.server.DbfsServerBackend.makeSessionContext(DbfsServerBackend.scala:242)
    at com.databricks.backend.daemon.data.server.DbfsServerBackend.$anonfun$receive$2(DbfsServerBackend.scala:280)
    at com.databricks.backend.daemon.data.server.session.SessionManager.createSession(SessionManager.scala:193)
    at com.databricks.backend.daemon.data.server.DbfsServerBackend$$anonfun$receive$3.applyOrElse(DbfsServerBackend.scala:285)
    at com.databricks.backend.daemon.data.server.DbfsServerBackend$$anonfun$receive$3.applyOrElse(DbfsServerBackend.scala:282)
    at com.databricks.rpc.ServerBackend.$anonfun$internalReceive$2(ServerBackend.scala:52)
    at com.databricks.rpc.ServerBackend$$anonfun$commonReceive$1.applyOrElse(ServerBackend.scala:79)
    at com.databricks.rpc.ServerBackend$$anonfun$commonReceive$1.applyOrElse(ServerBackend.scala:79)
    at com.databricks.rpc.ServerBackend.$anonfun$internalReceive$1(ServerBackend.scala:48)
    at com.databricks.logging.UsageLogging.$anonfun$recordOperation$4(UsageLogging.scala:428)
    at com.databricks.logging.UsageLogging.$anonfun$withAttributionContext$1(UsageLogging.scala:238)
    at scala.util.DynamicVariable.withValue(DynamicVariable.scala:62)
    at com.databricks.logging.UsageLogging.withAttributionContext(UsageLogging.scala:233)
    at com.databricks.logging.UsageLogging.withAttributionContext$(UsageLogging.scala:230)
    at com.databricks.rpc.ServerBackend.withAttributionContext(ServerBackend.scala:15)
    at com.databricks.logging.UsageLogging.withAttributionTags(UsageLogging.scala:275)
    at com.databricks.logging.UsageLogging.withAttributionTags$(UsageLogging.scala:268)
    at com.databricks.rpc.ServerBackend.withAttributionTags(ServerBackend.scala:15)
    at com.databricks.logging.UsageLogging.recordOperation(UsageLogging.scala:409)
    at com.databricks.logging.UsageLogging.recordOperation$(UsageLogging.scala:336)
    at com.databricks.rpc.ServerBackend.recordOperation(ServerBackend.scala:15)
    at com.databricks.rpc.ServerBackend.internalReceive(ServerBackend.scala:47)
    at com.databricks.rpc.JettyServer$RequestManager.$anonfun$handleRPC$2(JettyServer.scala:611)
    at scala.util.Try$.apply(Try.scala:213)
    at com.databricks.rpc.JettyServer$RequestManager.handleRPC(JettyServer.scala:611)
    at com.databricks.rpc.JettyServer$RequestManager.handleRequestAndRespond(JettyServer.scala:534)

Я вижу в трассировке стека, что original exception: 'com.amazonaws.services.s3.model.AmazonS3Exception: Forbidden;, но я не понимаю, почему вещи запрещены, эта учетная запись настроена, и кластер был запущен с использованием моего root ключи доступа, поэтому Databricks должен иметь доступ ко всему. Любая помощь здесь будет принята с благодарностью!

Для ясности, конечная цель здесь - смонтировать ведро из s3 в кирпичи данных, чтобы я мог получить к нему доступ, но при попытке монтирования я получил ту же ошибку

1 Ответ

0 голосов
/ 13 апреля 2020

Существует несколько способов ограничения доступа к ресурсу в AWS:

  • ограничение прав пользователя / роли (не в вашем случае, когда вы используете root)
  • ограничить операции на стороне ресурса, например, разрешить только VP C traffi c (т.е. без внешнего трафика c) или разрешить GET, но не HEAD, разрешить только этот указанный c пользователь делать HEAD и т. д.

Проверьте свой доступ к корзине S3 (или предоставьте его здесь): явно разрешите своему пользователю делать список, получать, помещать объекты.

...