Apache Spark 无法创建具有适当权限的临时目录:/mnt1/s3

syqv5f0l  于 2023-08-06  发布在  Apache
关注(0)|答案(3)|浏览(115)

下面是其中一个容器的日志转储。我得到一个异常,说明一个文件夹无法创建由于某些权限。我已经解决了各种时间,但它仍然存在。
19年12月16日09:44:05 WARN ConfigurationUtils:无法创建具有适当权限的临时目录:/mnt1/s3
java.nio.file.AccessDeniedException:/mnt1在sun。nio。fs. UnixException。在sun上出现ranslateToIOException(UnixException.java:84)。nio。fs. UnixException。在sun上出现retrowAsIOException(UnixException.java:102)。nio。fs. UnixException。在sun上出现retrowAsIOException(UnixException.java:107)。nio。fs. UnixFileSystemProvider。createDirectory(UnixFileSystemProvider.java:384)at java. nio。文件。文件。createDirectory(Files.java:674)at java. nio。文件。文件。createAndCheckIsDirectory(Files.java:781)at java. nio。文件。文件。createDirectories(Files.java:767)at com.亚马逊。w.emr. hadoop fs. util.配置实用程序getTestedTempPaths(ConfigurationUtils.java:224)at com.amazon.ws.emr.hadoop.fs.s3n.S3NativeFileSystem.initialize(S3NativeFileSystem.java:449)at com.亚马逊。w.emr. hadoop文件系统initialize(EmrFileSystem.java:111)at org.Apachehadoop文件系统。createFileSystem(FileSystem.java:2717)at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:93)at org.Apachehadoop fs. FileSystem $Cache。getInternal(FileSystem.java:2751)at org.Apachehadoop fs. FileSystem $Cache。get(FileSystem.java:2733)at org.Apachehadoop文件系统。get(FileSystem.java:377)at org.Apachehadoop fs.路径。getFileSystem(Path.java:295)at org.ApachehadoopMap。文件输入格式。singleThreadedListStatus(FileInputFormat.java:230)at org.ApachehadoopMap。文件输入格式。listStatus(FileInputFormat.java:201)

8yoxcaq7

8yoxcaq71#

您应该对主节点和任务/核心节点使用相同的示例类型
请参阅:https://forums.aws.amazon.com/thread.jspa?threadID=57967

q0qdq0h2

q0qdq0h22#

当我运行AWS EMR集群时,我遇到了类似的错误,并试图通过运行简单的“select * from abc”查询,使用RStudio和SparklyR从EMR边缘节点连接到它。
查询在主节点上有效,但在边缘节点上无效。因此,我查看了EMR集群主节点上/mnt/s3的权限,并将其与边缘节点中该文件夹的权限进行了比较。不同之处在于,在主节点上,权限是rwxrwxrwt(类似于/tmp),而在边缘节点上是rwxrwxr--
当我给边缘节点与主节点相同的扩展权限时,问题就消失了(我还设置了sticky bit,使其与主节点完全相同)。我使用的命令是。

sudo chmod 777 /mnt/s3
sudo chmod o+t /mnt/s3

字符串

dgjrabp2

dgjrabp23#

我为我的环境找到了它。emr上的主节点可能有/mnt 1和/mnt 1/s3目录,但ssh到工作节点,它们没有配置正确的目录。
我不得不在集群启动命令中将我的安装脚本从--Step更改为--bootstrap-action。这允许我将编辑传递到所有工作节点,即使它们在初始集群启动后扩展。

相关问题