1

我发现由于 RawLocalFileSystem 中的一些有趣之处,mapreduce 作业无法启动,它出现了。

如何调试此错误?似乎没有与 NativeIO chmod 异常相关的目录或命令的痕迹。

一种选择当然是将 jar 与自定义 RawLocalFileSystem 实现捆绑到我的类路径中,但这似乎有点矫枉过正。

2011 年 7 月 13 日 18:39:43 错误 security.UserGroupInformation:PriviledgedActionException as:根本原因:ENOTDIR:不是目录 ENOTDIR:不是 org.apache.hadoop.io.nativeio.NativeIO.chmod(本机方法)的目录org.apache.hadoop.fs.FileUtil.execSetPermission(FileUtil.java:699) 在 org.apache.hadoop.fs.FileUtil.setPermission(FileUtil.java:654) 在 org.apache.hadoop.fs.RawLocalFileSystem.setPermission( RawLocalFileSystem.java:509) 在 org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:344) 在 org.apache.hadoop.fs.FilterFileSystem.mkdirs(FilterFileSystem.java:189) 在 org.apache.hadoop .mapreduce.JobSubmissionFiles.getStagingDir(JobSubmissionFiles.java:116)

4

1 回答 1

0

这是一个有趣的错误:事实证明,我确实创建了一个文件,该文件已经存在于需要创建目录的地方。

也就是说,我的文件系统实现的根目录中有一个名为“tmp”的文件!

无论如何,这种混乱是由于 hadoop NativeIO 类的错误报告很少。

我认为这是一个失败,应该由底层 NativeIO 类更好地报告和记录。

于 2013-07-12T02:47:09.593 回答