`
conkeyn
  • 浏览: 1522874 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

第一节:编译自定义的Hadoop核心包,去除用户权限检查

 
阅读更多

本文参考eclipse连接远程hadoop集群开发时0700问题解决方案整理得来。

 

在window 下的eclipse开发map reduce时连接远程hadoop集群环境时会报错

 

 

错误信息:

Exception in thread "main" java.io.IOException:Failed to set permissions of path:\tmp\hadoop-ysc\mapred\staging\ysc-2036315919\.staging to 0700

 

解决方案(CentOS 6.4 + hadoop1.2.1 + jdk1.7编译成功,并复制到window下,成功生成eclipse plugin文件)。

 

1、

1.首先到官网上把该版本hadoop的tar包下载下来,并解压到$HADOOP_HOME目录下

 

 

 

2.修改hadoop-1.2.0\src\core\org\apache\hadoop\fs下的FileUtil.java类
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()));
    }
  }
 将这个抛异常操作注释掉或者把throw new IOException改为LOG.warn
我是改为LOG.warn:
  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()));
        LOG.warn("Failed to set permissions of path: " + p +
                            " to " +
                            String.format("%04o", permission.toShort()));
	}
  }
 
3.进入到$HADOOP_HOME/src目录中,修改saveVersion.sh文件,因为原saveVersion.sh生成的package-info.java有问题。更正内容为:

user=`whoami` #此处修改成固定值,如user=jialin

3、修改$HADOOP_HOME\build.xml,搜索autoreconf,移除匹配的6个executable="autoreconf"的exec配置 ,如: <exec executable="autoreconf"
          dir="${c++.task-controller.src}"
          searchpath="yes" failonerror="yes">
      <arg value="-i"/>
    </exec>
   
   共有6处,将该语言块删除

4、 修改hadoop安装目录下的\build.xml   指定java版本<property name="javac.version" value="1.6"/>   如是1.7就改为1.7

5、在命令行切换到$HADOOP_HOME,执行ant

6、用新生成的$HADOOP_HOME\build\hadoop-core-1.*.*-SNAPSHOT.jar替换$HADOOP_HOME目录下的hadoop-core-*.*.*.jar
7、然后把CentOS 6.4环境下编译好的hadoop-core-1.*.*-SNAPSHOT.jar复制到window环境下并覆盖window环境下的%HADOOP_HOME%\hadoop-core-*.*.*.jar
 
分享到:
评论

相关推荐

    第二节:win 7下编译eclispe hadoop plugin

    在Windows 7操作系统中编译Eclipse Hadoop Plugin是一个对开发者而言非常实用的过程,这个插件可以帮助用户在Eclipse集成开发环境中更方便地管理和调试Hadoop项目。在本节中,我们将深入探讨如何在Windows 7环境下...

    win7下编译过的hadoop jar包--hadoop-2.7.2.zip

    总之,这个“win7下编译过的hadoop-2.7.2.zip”压缩包为Windows 7用户提供了一种方便的方式来学习和探索Hadoop。虽然在Windows上运行Hadoop可能不如在Linux上顺畅,但它仍然是一个有价值的工具,尤其是对于那些在...

    win10下编译过的hadoop jar包--hadoop-2.7.2.zip

    Hadoop是大数据处理领域的一个核心框架,由Apache软件基金会开发,它主要分为两个主要部分:Hadoop Distributed File System (HDFS) 和 MapReduce。Hadoop 2.7.2 版本是在Hadoop 2.x系列中的一个重要版本,带来了...

    编译Hadoop需要的其他包(2.7.5)

    然而,为了能够充分利用Hadoop的功能,我们需要对其进行编译,以便自定义配置或适应特定环境。在这个过程中,"编译Hadoop需要的其他包(2.7.5)"这个压缩包就显得至关重要。 首先,让我们深入理解一下Hadoop编译的...

    hadoop2.8.1+hadoop+winutils编译包

    总结来说,这个“hadoop2.8.1+hadoop+winutils编译包”提供了在Windows环境下运行Hadoop 2.8.1所需的所有组件,包括Hadoop的核心功能和针对Windows的兼容性工具。通过合理安装和配置,用户可以在Windows系统上进行...

    linux下编译过的hadoop jar包--hadoop-2.7.2.zip

    Hadoop是Apache软件基金会开发的一个开源分布式计算框架,它允许在廉价硬件上处理大量数据,实现了大数据的存储和处理。这个压缩包“hadoop-2.7.2.zip”包含了在Linux环境下运行和学习Hadoop所需的核心组件。下面将...

    win 7 64上编译 Hadoop 2.7.3 源码

    1. **阅读BUILDING.txt**:在Hadoop源码目录下有一个名为`BUILDING.txt`的文件,该文件提供了编译所需的指导信息。对于Windows平台,文档末尾部分给出了具体的说明。 2. **执行编译命令**:打开命令提示符窗口,进入...

    大数据时代:高性能Hadoop集群与应用案例

    1. **百度的日志分析和网页数据挖掘**:百度利用Hadoop进行日志分析,帮助改进搜索结果的质量,并通过对网页数据的深度挖掘提升用户体验。 2. **阿里巴巴的商业数据分析**:阿里巴巴借助Hadoop处理海量交易数据,...

    win10下编译过的hadoop2.7.2 jar包

    这个压缩包文件“win10下编译过的hadoop2.7.2 jar包”是专门为在Windows 10操作系统上运行Hadoop 2.7.2版本而准备的。这个版本的Hadoop包含了所有必要的库文件和依赖,使得开发者能够在本地环境中配置和运行Hadoop...

    windows10环境下编译的hadoop的bin目录

    在Windows 10环境下,Hadoop的开发和运行通常涉及到一系列复杂的步骤,因为Hadoop主要设计为在Linux系统上运行。然而,通过特定的配置和...通过替换本地bin目录,用户可以使用自定义编译的Hadoop版本,提高工作效率。

    Hadoop编译需要的jar包

    在Hadoop编译过程中,FindBugs可以在编译阶段进行代码质量检查,而Ant和Maven则负责构建流程,包括依赖管理和构建目标的执行。Protobuf则用于定义数据结构,优化数据交换效率。这些工具一起构成了Hadoop编译和构建的...

    Linux系统编译过的hadoop2.7.2jar包

    Hadoop是大数据处理领域的一个核心框架,由Apache软件基金会开发并维护。它的主要设计目标是构建一个分布式存储和计算系统,能够处理和存储海量数据。Hadoop 2.7.2是该框架的一个稳定版本,提供了许多改进和新特性。...

    cent os 6.5 编译hadoop2.6.0源码

    编译自定义的Hadoop源码能让你更好地适应特定的系统环境,比如调整内存分配、优化网络通信或者集成特定的日志系统。然而,这个过程也需要一定的技术背景,因为错误的配置或编译过程可能会导致Hadoop无法正常工作。...

    win10环境下hadoop-3.3.1编译后的源码包

    在Windows 10环境下编译Hadoop 3.3.1源码是一项技术性较强的任务,涉及到了Java开发环境、Maven构建工具以及对Hadoop框架的理解。Hadoop是Apache软件基金会的一个开源项目,主要用于分布式存储和计算,是大数据处理...

    基于macos Yosemite 10.10.5 编译的Hadoop2.7.1源码

    ### 基于macOS Yosemite 10.10.5 编译的Hadoop2.7.1源码 #### 知识点一:Hadoop2.7.1简介 Hadoop是一个开源软件框架,用于分布式存储和处理大规模数据集。它由Apache基金会维护,主要包括两个核心组件:HDFS...

    hadoop组件程序包.zip

    总结,"hadoop组件程序包.zip"是一个为Hadoop初学者量身定制的学习资源,通过深入学习和实践,初学者可以全面掌握Hadoop的核心组件及其工作原理,为未来在大数据领域的探索和发展打下坚实基础。

    hadoop在window10下编译编译好的安装包,亲测100%可用

    在大数据领域,Hadoop是一个广泛使用的开源框架,用于存储和处理海量数据。本文将详细介绍如何在Windows 10操作系统上编译并安装Hadoop,基于提供的压缩包文件"window10_hadoop",确保100%兼容性与可用性。 首先,...

    parquet-hadoop-1.8.2-API文档-中文版.zip

    赠送jar包:parquet-hadoop-1.8.2.jar; 赠送原API文档:parquet-hadoop-1.8.2-javadoc.jar; 赠送源代码:parquet-hadoop-1.8.2-sources.jar; 赠送Maven依赖信息文件:parquet-hadoop-1.8.2.pom; 包含翻译后的API...

    Hadoop2.7.3编译

    3. **编译Hadoop**:运行`mvn clean install -DskipTests`命令,这将清除之前的编译结果,然后进行编译并跳过单元测试(如果想运行测试,可以去掉`-DskipTests`)。 4. **构建过程**:编译过程中,Maven会下载依赖...

    centos6.7编译的hadoop2.7.2

    在本文中,我们将深入探讨如何在CentOS 6.7操作系统上编译并安装Hadoop 2.7.2。Hadoop是一个开源的分布式计算框架,由Apache软件基金会开发,用于处理和存储大规模数据集。它主要由两个核心组件构成:Hadoop ...

Global site tag (gtag.js) - Google Analytics