共计 1513 个字符,预计需要花费 4 分钟才能阅读完成。
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. 运行程序,万事大吉!!!
————————————– 分割线 ————————————–
Ubuntu 13.04 上搭建 Hadoop 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm
Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm
Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm
Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm
单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm
————————————– 分割线 ————————————–
更多 Hadoop 相关信息见 Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13