windows eclipse运行mapreduce遇到权限问题该如何解决

来源:互联网 发布:人工智能企业排名 编辑:程序博客网 时间:2024/04/29 10:56


根据hadoop开发方式总结及操作指导


采用第一种开发方式,我们会遇到权限问题,面对这个问题,该如何解决,有两种解决办法:

第一种解决办法:
1、重新编译hadoop-core-xxx.jar包1. 原因 当用hadoop中自带的hadoop-core-xxx.jar包时,会出现UserGroupInformation类型的错误,这个是Windows下文件权限问题,在Linux下可以正常运行。 
2. 解决方案 修改/hadoop-xxx/src/core/org/apache/hadoop/fs/FileUtil.java里的checkReturnValue,注释掉其中代码即可,重新编译后替换原hadoop-core-xxx.jar包中FileUtil.java,再替换掉hadoop-xxx根目录下的hadoop-core-xxx.jar即可。
修改前:

  1. private static void checkReturnValue(boolean rv, File p, 
  2. FsPermission permission
  3. ) throws IOException {
  4. if (!rv) {
  5. throw new IOException("Failed to set permissions of path: " + p + 
  6. " to " + 
  7. String.format("%04o", permission.toShort()));
  8. }
  9. }
复制代码
修改后:


  1. private static void checkReturnValue(boolean rv, File p, 
  2. FsPermission permission
  3. ) throws IOException {

  4. }
复制代码
被修改后FileUtil.java文件
 FileUtil.zip (6.41 KB, 下载次数: 2) 

第二种解决办法:将下面附件中的文件拖入项目中,与源码中的core包发生冲突,不过不影响运行
 org.zip (6.99 KB, 下载次数: 0) 
 


 





0 0
原创粉丝点击