Hadoop系列(一)hadoop2.2.0源码编译

操作系统:Centos

所需条件:能上网

    • 编译所需工具:
      apache-ant-1.9.2-bin.tar.gz
      apache-maven-3.0.5-bin.tar.gz
      findbugs-2.0.2.tar.gz
      protobuf-2.5.0.tar.gz
    • 编译工具还需配置环境变量到 /etc/profile,并加入的环境变量PATH中;

      image 

  • 手动设置下载源:/etc/yum.repos.d/CentOS-Base.repo 或者 直接执行:yum update
  • 完成上步操作后,终端切换到hadoop.2.2-src目录下执行:yum -y install lzo-devel zlib-devel gcc autoconf automake libtool openssl-devel cmake
  • 打补丁:
    将以下五行配置到hadoop.2.2-src目录下hadoop-common-project/hadoop-auth/pom.xml文件的58行,即<groupId>org.mortbay.jetty</groupId>后;
    <artifactId>jetty-util</artifactId>
    <scope>test</scope>
    </dependency>
    <dependency>
    <groupId>org.mortbay.jetty</groupId>
  • 编译安装protobuf,切换到protobuf目录下执行 ./configure完成后在执行make;make check;make install。若编译过protobuf过程中出现如下的错误提示,需要执行 yum install glibc-headers gcc-c++,安装c++编译器的相关package;
  • configure: error: C++ preprocessor “/lib/cpp” sanity check
    check See `config.log’ for more details

  • 编译:
    终端切换到hadoop.2.2-src目录下执行:mvn clean package -DskipTests -Pdist,native,docs –Dtar 或 mvn package -Pdist -DskipTests -rf :hadoop-hdfs (将native和生成文档的选项去掉编译)

 

补充说明:这个过车时间比较长因为Maven需要下载所需要的jar包,如果出现失败那都是下载问题,重新执行命令就OK了;

 

成功编译见下图:

Hadoop系列(一)hadoop2.2.0源码编译_第1张图片

你可能感兴趣的:(hadoop2)