分享

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

本帖最后由 nettman 于 2014-5-10 01:54 编辑
问题导读:
1.对于hadoop开发方式总,采用本地引入包的开发方式,会遇到什么问题,该如何解决?





根据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, 下载次数: 84)

已有(7)人评论

跳转到指定楼层
chenabc 发表于 2014-5-10 00:53:49
补充另外一种权限问题:原文:hadoop常见错误汇总及解决办法一
用window 提交eclipse 任务发现权限不通过:
原因:本地用户administrator(本机windows用户)想要远程操作hadoop系统,没有权限引起的。

解决办法:
1、如果是测试环境,可以取消hadoop hdfs的用户权限检查。打开conf/hdfs-site.xml,找到dfs.permissions属性修改为false(默认为true)OK了。(1.2.1 版本只有这个方法可行),如何操作可以参考第一个问题。


2、修改hadoop location参数,在advanced parameter选项卡中,找到hadoop.job.ugi项,将此项改为启动hadoop的用户名即可
3 修改window 机器的用户名为 hadoop 用户名。


回复

使用道具 举报

zhujun182104906 发表于 2014-11-29 09:46:56
以前遇到过这个问题,受教了
回复

使用道具 举报

tang 发表于 2015-4-1 22:00:29
遇到了这种问题,学习了
回复

使用道具 举报

tang 发表于 2015-4-2 16:37:16
回复

使用道具 举报

zhao_yi_bing 发表于 2015-4-30 09:20:59
之前碰到过这个问题,改掉了FileUtil类。
涨姿势了,感谢
回复

使用道具 举报

麦克布鲁斯 发表于 2016-12-24 22:28:52
感谢楼主分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条