以下是其中一个容器的日志转储。我得到一个例外,说明由于某些权限,无法创建文件夹。我已经解决了不同的时间但仍然存在。
16/12/19 09:44:05 WARN ConfigurationUtils:无法创建临时目录 适当的许可:/ mnt1 / s3
java.nio.file.AccessDeniedException:/ mnt1 at sun.nio.fs.UnixException.t这里 ranslateToIOException(UnixException.java:84)at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) 在 sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107) 在 sun.nio.fs.UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:384) 在java.nio.file.Files.createDirectory(Files.java:674)at java.nio.file.Files.createAndCheckIsDirectory(Files.java:781)at at java.nio.file.Files.createDirectories(Files.java:767)at com.amazon.ws.emr.hadoop.fs.util.ConfigurationUtils.getTestedTempPaths(ConfigurationUtils.java:224) 在 com.amazon.ws.emr.hadoop.fs.s3n.S3NativeFileSystem.initialize(S3NativeFileSystem.java:449) 在 com.amazon.ws.emr.hadoop.fs.EmrFileSystem.initialize(EmrFileSystem.java:111) 在 org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2717) 在org.apache.hadoop.fs.FileSystem.access $ 200(FileSystem.java:93)at org.apache.hadoop.fs.FileSystem $ Cache.getInternal(FileSystem.java:2751) 在org.apache.hadoop.fs.FileSystem $ Cache.get(FileSystem.java:2733)at at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:377)at at org.apache.hadoop.fs.Path.getFileSystem(Path.java:295)at org.apache.hadoop.mapred.FileInputFormat.singleThreadedListStatus(FileInputFormat.java:230) 在 org.apache.hadoop.mapred.FileInputFormat.listStatus(FileInputFormat.java:201)
答案 0 :(得分:1)
您应该为主节点和任务/核心节点使用相同的实例类型
请参阅:https://forums.aws.amazon.com/thread.jspa?threadID=57967
答案 1 :(得分:-1)
当我运行一个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