Windows上利用Eclipse运行MapReduce需要注意的几点

最近在研究如何在Windows平台利用Eclipse执行MapReduce程序,第一个程序是拷贝的WorldCount,运行时发生了以下的错误均已解决,给自己提个醒也希望能对大家有帮助。

 

1. Failed to set permissions of path: \tmp\hadoop-root\mapred\staging\root1764752388\.staging to 0700

主要是在windows下运行的时候有一个代码权限的检测没有通过,具体的类core\org\apache\hadoop\fs\FileUtil.java

 

// read perms
    rv = f.setReadable(group.implies(FsAction.READ), false);
    checkReturnValue(rv, f, permission);
    if (group.implies(FsAction.READ) != user.implies(FsAction.READ)) {
      f.setReadable(user.implies(FsAction.READ), true);
      checkReturnValue(rv, f, permission);
    }

    // write perms
    rv = f.setWritable(group.implies(FsAction.WRITE), false);
    checkReturnValue(rv, f, permission);
    if (group.implies(FsAction.WRITE) != user.implies(FsAction.WRITE)) {
      f.setWritable(user.implies(FsAction.WRITE), true);
      checkReturnValue(rv, f, permission);
    }

    // exec perms
    rv = f.setExecutable(group.implies(FsAction.EXECUTE), false);
    checkReturnValue(rv, f, permission);
    if (group.implies(FsAction.EXECUTE) != user.implies(FsAction.EXECUTE)) {
      f.setExecutable(user.implies(FsAction.EXECUTE), true);
      checkReturnValue(rv, f, permission);
    }
  }

  private static void checkReturnValue(boolean rv, File p, 
                                       FsPermission permission
                                       ) throws IOException {
    if (!rv) {
      throw new IOException("Failed to set permissions of path: " + p + 
                            " to " + 
                            String.format("%04o", permission.toShort()));
    }
  }

 可以把checkReturnValue的方法注释掉,屏蔽掉权限的检查

或者可以用上传的已经修改好的jar包

 

 

2.windows下利用eclipse去执行MapReduce需要关闭HDFS的安全模式

在Haddop Home下运行 ./bin/hadoop dfsadmin -safemode leave

 

 

3.  java.lang.IllegalArgumentException: Compression codec org.apache.hadoop.io.compress.SnappyCodec not found.

edit hadoop location  在高级参数页面的io.compression.codecs  中把SnappyCodec 去掉

 

以上就是在运行第一个MapReduce程序时遇到的问题

 

Hadoop新手,请大家多提宝贵意见

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值