• 在Eclipse上建立hadoop2.2.0/hadoop2.4.0源代码阅读环境


    1.安装依赖的包:

    yum install gcc-c++ g++ autoconf automake libtool cmake zlib1g-dev pkg-config libssl-dev

    2. 安装protobuf 2.5.0,

    首先去google的网站上下载protobuf源代码,解压并切换到root用户执行如下命令:

    ./configure

    如果中间发生错误,说明有些依赖包并为安装,

    an error occured because dependency is not met
    the error is cleaned

    把所须依赖都安装好之后,执行:

    ./make
    ./make install

    3.编译Hadoop源代码

    首先下载hadoop-2.2.0的源代码,解压。

    2.1. 切换到源代码目录,执行:

    mvn install -DskipTests -Dhttp.proxyHost=proxy01.cd.intel.com -Dhttp.proxyPort=911

    黄色部分作用为设置代理。由于本人的编译环境在公司内网,所以需要设置代理

    发现如下错误:

    [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:testCompile (default-testCompile) on project hadoop-auth: Compilation failure: Compilation failure:
    [ERROR] /home/hduser/hadoop-2.2.0-src/hadoop-common-project/hadoop-auth/src/test/java/org/apache/hadoop/security/authentication/client/AuthenticatorTestCase.java:[88,11] error: cannot access AbstractLifeCycle
    [ERROR] class file for org.mortbay.component.AbstractLifeCycle not found
    [ERROR] /home/hduser/hadoop-2.2.0-src/hadoop-common-project/hadoop-auth/src/test/java/org/apache/hadoop/security/authentication/client/AuthenticatorTestCase.java:[96,29] error: cannot access LifeCycle
    [ERROR] class file for org.mortbay.component.LifeCycle not found
    [ERROR] /home/hduser/hadoop-2.2.0-src/hadoop-common-project/hadoop-auth/src/test/java/org/apache/hadoop/security/authentication/client/AuthenticatorTestCase.java:[98,10] error: cannot find symbol
    [ERROR] symbol:   method start()
    [ERROR] location: variable server of type Server
    [ERROR] /home/hduser/hadoop-2.2.0-src/hadoop-common-project/hadoop-auth/src/test/java/org/apache/hadoop/security/authentication/client/AuthenticatorTestCase.java:[104,12] error: cannot find symbol
    [ERROR] -> [Help 1]

    需要修改源码下边的hadoop-common-project/hadoop-auth/pom.xml,黄色部分为新增代码

        <dependency>
          <groupId>org.mortbay.jetty</groupId>
          <artifactId>jetty</artifactId>
          <scope>test</scope>
        </dependency>
      <dependency> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-util</artifactId> <scope>test</scope> </dependency>

    重新执行,顺利通过

    2.2. 生成eclipse项目环境:

     mvn eclipse:eclipse -DskipTests -Dhttp.proxyHost=proxy01.cd.intel.com -Dhttp.proxyPort=911

    2.3. 打开eclipse,导入源代码目录下的项目.

  • 相关阅读:
    第一次作业
    机器学习第一次个人作业
    第02组 Beta版本演示
    第02组 Beta冲刺(4/4)
    第02组 Beta冲刺(3/4)
    微信小程序信息会话列表删除功能
    微信小程序自定义弹窗组件
    微信小程序使用Echarts
    uni.showModal,uni.showToast使用
    Array filter() 方法
  • 原文地址:https://www.cnblogs.com/littlesuccess/p/3669685.html
Copyright © 2020-2023  润新知