`

win7+centos虚拟机hadoop安装eclipse插件运行时报权限错误处理方法

阅读更多

         先上错误:

      

14/06/27 23:37:32 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
14/06/27 23:37:32 ERROR security.UserGroupInformation: PriviledgedActionException as:Administrator cause:java.io.IOException: Failed to set permissions of path: \tmp\hadoop-Administrator\mapred\staging\Administrator-519341271\.staging to 0700
Exception in thread "main" java.io.IOException: Failed to set permissions of path: \tmp\hadoop-Administrator\mapred\staging\Administrator-519341271\.staging to 0700
    at org.apache.hadoop.fs.FileUtil.checkReturnValue(FileUtil.java:682)
    at org.apache.hadoop.fs.FileUtil.setPermission(FileUtil.java:655)
    at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:509)
    at org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:344)
    at org.apache.hadoop.fs.FilterFileSystem.mkdirs(FilterFileSystem.java:189)
    at org.apache.hadoop.mapreduce.JobSubmissionFiles.getStagingDir(JobSubmissionFiles.java:116)
    at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:856)
    at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:850)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:396)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1093)
    at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:850)
    at org.apache.hadoop.mapreduce.Job.submit(Job.java:500)
    at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:530)
    at com.hadoop.learn.test.WordCountTest.main(WordCountTest.java:85)

   

    一看到这个错误,对于第一次接触的新手来说傻眼了,跑的第一个map/reduc程序就这样,后面百度了很          多。问了很多大神,知道这是在windows下面跑的原因(用的是虚拟机搭建的环境),如果是在linux下面         跑的话就不会出现这个错误,后面试了很多种方法,只有下面这一种感觉是最简单的,而且是成功了。贴出      来,大家一起学习。

 

 

       注意: 以下修改的地方均是在eclipse的菜单栏windows下面的preferences的Hadoop Map/Reduce

     Hadoop  installation directory 关联到的windows下面新建的一个文件夹(里面放的是在linux下面安装        的hadoop文件)进行修改(语文有点差,不知道表达清楚了没有):



 

        解决方法是,修改/hadoop-1.0.2/src/core/org/apache/hadoop/fs/FileUtil.java里面的checkReturnValue,注释掉即可:

12345678910111213

......
  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()));
    }
       **/
  }
......

view rawFileUtil.java hosted with by GitHub

重新编译打包hadoop-core-1.0.2.jar,替换掉hadoop-1.0.2根目录下的hadoop-core-1.0.2.jar即可。

这里提供一份修改版的hadoop-core-1.0.2-modified.jar文件,替换原hadoop-core-1.0.2.jar即可。

替换之后,刷新项目,设置好正确的jar包依赖,现在再运行WordCountTest,即可。

成功之后,在Eclipse下刷新HDFS目录,可以看到生成了ouput_tms目录:

 

 

 

          

控制台输出下面的东西,和linux下面跑jar包是一样的效果:



 

好了,可以了,第一个手敲mapreduce程序终于可以跑起来了,继续干!!!

 

 

  • 大小: 69 KB
  • 大小: 188.8 KB
  • 大小: 639.1 KB
1
0
分享到:
评论

相关推荐

    从VMware中安装CentOS到Hadoop集群+ Hive+ MySQL搭建

    适合新手,详细 01-Java环境安装 02- Eclipse下载与安装 03-VMware虚拟机的安装 04-在VMware中安装CentOS 05- Hadoop集群+ Hive+ MySQL搭建

    CentOS7下安装eclipse并编译hadoop2.x

    ### CentOS7 下安装 Eclipse 并编译 Hadoop2.x 的详细步骤 #### 一、准备工作:安装 CentOS7 为了在 CentOS7 操作系统下搭建 Hadoop2.x 的编译环境,我们首先需要通过 VMware 虚拟机安装 CentOS7。 **步骤如下:*...

    VM虚拟机下配Eclipse+JDK+Tomcat+Hadoop环境搭建.pdf

    【标题】: "VM虚拟机下配Eclipse+JDK+Tomcat+Hadoop环境搭建" 在搭建基于VM虚拟机的开发环境时,通常需要安装一系列的软件来支持开发和运行Java应用程序,以及处理分布式计算任务。以下是详细的步骤: 1. **安装...

    VM虚拟机下配Eclipse+JDK+Tomcat+Hadoop环境搭建.docx

    以上步骤完成后,你将在VMware虚拟机的CentOS环境中拥有一个完整的开发环境,包括Eclipse IDE用于编写Java代码,JDK用于编译和运行Java程序,Tomcat用于部署和测试Web应用,以及Hadoop用于处理大数据任务。...

    Centos64位Linux版本的eclipse

    【标题】"Centos64位Linux版本的eclipse"涉及了几个重要的IT知识点,包括Eclipse IDE、Linux操作系统(特别是CentOS发行版)以及与Java开发和Hadoop相关的工具和环境配置。 首先,Eclipse是一款广泛使用的开源集成...

    安装hadoop spark

    ### 安装Hadoop与Spark的关键知识点 #### Hadoop与Spark概述 - **Hadoop**:是一个能够对大量数据进行分布式处理的软件框架。它主要包括HDFS(Hadoop Distributed File System)和MapReduce两个核心组件。HDFS用于...

    实验2-在Hadoop平台上部署WordCount程序-孙淼1

    8. **Eclipse集成开发环境**:可能使用Eclipse进行Hadoop程序的开发和调试,这需要熟悉Eclipse的项目配置和Hadoop相关的插件。 实验报告撰写需注意以下几点: - 报告应该清晰、整洁,语言表达准确。 - 数据和程序...

    eclipse-java-2019-03-R-linux-gtk-x86_64.tar.gz

    标签“hadoop”则意味着这个Eclipse安装可能包含了Hadoop相关的插件或支持,Hadoop是一个开源的分布式计算框架,主要用于大数据处理。开发者可以使用Eclipse集成的Hadoop工具来编写MapReduce程序,管理HDFS文件,...

    搭建Hadoop大数据处理环境.pdf

    通常,个人学习会选择在虚拟机上安装,这里推荐使用VMware Workstation,并且安装CentOS7操作系统。安装虚拟机过程中,可以通过复制已有虚拟机的方式来创建多个节点,以节省时间,但需对每个虚拟机的IP地址和主机名...

    Hadoop搭建及mr程序示例.docx

    首先,安装Eclipse的Hadoop插件,如Hadoop-Eclipse-Plugin,然后配置Hadoop的远程运行环境,指向你的Hadoop集群。 **WordCount示例** WordCount是Hadoop的入门示例,用于统计文本中单词出现的次数。主要包含两个...

    java运行所需jar包,hadoop-2.8.4

    在Windows下eclipse运行java程序,报错原因是没有添加正确的库,这是hadoop-2.8.4 所需... 在Windows的eclipse运行java程序,调试无报错,打包成jar,上传到linux虚拟机(CentOS 64位),Hadoop2.8.4上进行分布式运算。

    搭建Hadoop大数据处理环境 (2).pdf

    在搭建Hadoop大数据处理环境的过程中,首先要确保你的操作系统是Linux,因为Hadoop主要在Linux环境下运行。本教程以VMware Workstation为基础,安装CentOS7作为虚拟机环境。VMware的NAT模式使得虚拟机能够通过物理...

    搭建Hadoop大数据处理环境.docx

    搭建Hadoop大数据处理环境涉及到多个步骤,包括安装和配置Linux操作系统、设置网络环境、安装Java、配置SSH、安装时间服务器以及部署HTTPD服务。以下是对这些知识点的详细说明: 1. **Linux基础**: - CentOS7是...

    实验二 1

    Eclipse是一个流行的Java集成开发环境,可以安装Hadoop相关的插件,如Hadoop-Eclipse Plugin,以便于直接在Eclipse中创建、调试和运行MapReduce任务。 实验环境为CentOS 6.5操作系统和Hadoop 2.5.2版本。在进行实验...

    配置mapreduce开发环境(简单易懂,轻松上手)

    - 下载`Hadoop-eclipse-Plugin-2.5.2.jar`插件,并将其放置在MyEclipse安装目录下的`plugins`文件夹内。 - 重启MyEclipse后,在“Project Explorer”窗口中可以看到新增的“DFS Locations”项,表明插件已成功加载...

    Spark集群及开发环境搭建

    2. 安装CentOs7 3 四、 基础环境搭建(hadoop用户下) 7 1. 机器名HostName 7 2. 关闭防火墙 7 3. 系统更新及常用工具安装 8 4. IP配置 8 5. JDK安装 9 五、 Hadoop安装及配置 10 1. 安装 10 2. 配置 10 ...

    Spark集群及开发环境搭建(完整版)

    - **VirtualBox-5.1**:虚拟机软件,用于安装CentOS操作系统。 - **CentOS7**:操作系统,作为集群节点的操作系统。 - **Hadoop3.0**:分布式计算框架,为Spark提供底层支持。 - **JDK8**:Java开发工具包,Hadoop和...

    大数据的操作

    ### 大数据操作中的Hadoop免密登录与字母统计案例详解 #### 一、Hadoop集群的搭建 在大数据处理领域,Hadoop是一款非常重要的工具,它能够支持大规模数据的分布式存储与处理。本文将详细介绍如何搭建Hadoop集群,...

    mysql连接驱动相关jar包

    在CentOS7环境下,MySQL社区版是开源且免费的数据库管理系统,广泛应用于各种大小的应用场景,包括Web开发、数据分析、教育和企业级项目。安装了MySQL社区版后,可以通过配置相应的连接参数(如服务器地址、端口、...

Global site tag (gtag.js) - Google Analytics