此页面上的内容需要较新版本的 Adobe Flash Player。

获取 Adobe Flash Player

您现在的位置: 智可网 - 新技术 - Hadoop - 正文
Win7环境下Eclipse连接Hadoop报错简单解决:重编译FileUtil.java
教程录入:李隆权    责任编辑:quan 作者:佚名 文章来源:linuxidc

Win7环境下通过Eclipse连接Hadoop1.2.1集群时,会遇到如下报错: 
Exception in thread "main" Java.io.IOException: Failed to set permissions of path: \tmp\hadoop-Administrator\mapred\staging\Administrator-519341271\.staging to 0700

此时只需要修改org.apache.hadoop.fs.FileUtil文件并重新编译即可,简单解决步骤如下:

1.eclipse中新建Java工程

2.将hadoop相关jar包都导入工程

3.到源码中拷贝src/core/org/apache/hadoop/fs/FileUtil.Java文件,粘贴到eclipse工程的src目录下

4.找到以下部分,注释掉checkReturnValue方法中的代码

  private static void checkReturnValue(boolean rv, File p,

                                      FsPermission permission

                                      ) throws IOException {

    /*

//Win7 connect to Linux hadoop

if (!rv) {

      throw new IOException("Failed to set permissions of path: " + p +

                            " to " +

                            String.format("%04o", permission.toShort()));

    }

*/

  }

5.到工程的输出目录找到class文件,会有两个class文件,因为FileUtil.Java有内部类

6.将该class文件添加到hadoop-core-1.2.1.jar中对应的目录,覆盖原文件

7.将更新过的hadoop-core-1.2.1.jar拷贝到Hadoop集群,覆盖原有文件,重启Hadoop集群

8.将更新过的hadoop-core-1.2.1.jar添加到项目的依赖中,如果用到Maven可能涉及覆盖Maven库中的对应文件

9.运行程序,万事大吉!!!

分享
打赏我
打开支付宝"扫一扫" 打开微信"扫一扫"
客户端
"扫一扫"下载智可网App
意见反馈
Win7环境下Eclipse连接Hadoop报错简单解决:重编译FileUtil.java
作者:佚名 来源:linuxidc

Win7环境下通过Eclipse连接Hadoop1.2.1集群时,会遇到如下报错: 
Exception in thread "main" Java.io.IOException: Failed to set permissions of path: \tmp\hadoop-Administrator\mapred\staging\Administrator-519341271\.staging to 0700

此时只需要修改org.apache.hadoop.fs.FileUtil文件并重新编译即可,简单解决步骤如下:

1.eclipse中新建Java工程

2.将hadoop相关jar包都导入工程

3.到源码中拷贝src/core/org/apache/hadoop/fs/FileUtil.Java文件,粘贴到eclipse工程的src目录下

4.找到以下部分,注释掉checkReturnValue方法中的代码

  private static void checkReturnValue(boolean rv, File p,

                                      FsPermission permission

                                      ) throws IOException {

    /*

//Win7 connect to Linux hadoop

if (!rv) {

      throw new IOException("Failed to set permissions of path: " + p +

                            " to " +

                            String.format("%04o", permission.toShort()));

    }

*/

  }

5.到工程的输出目录找到class文件,会有两个class文件,因为FileUtil.Java有内部类

6.将该class文件添加到hadoop-core-1.2.1.jar中对应的目录,覆盖原文件

7.将更新过的hadoop-core-1.2.1.jar拷贝到Hadoop集群,覆盖原有文件,重启Hadoop集群

8.将更新过的hadoop-core-1.2.1.jar添加到项目的依赖中,如果用到Maven可能涉及覆盖Maven库中的对应文件

9.运行程序,万事大吉!!!