Apache版hadoop编译

前言 

  做为大数据入门的基础,hadoop是每个大数据开发人员几乎不可避免的基础,目前hadoop已经发展到3.x.x版本,但当前企业使用的主流还是2.x.x版本,hadoop官网提供了编译后的hadoop,但这个是32位的,并且未供带C程序访问的接口,我们在使用本地库(可以用来做压缩,以及支持C程序等等)的时候就会出问题,所以需要自己再编译,之前自己编译过一次,但没有做总结,这次重新编译,做个总结记录一下。

一、环境准备

    我是用的是 hadoop-2.8.5-src.tar.gz 版本,解压后找到BUILDING.txt

   此文件列出了我们需要使用的一些环境,官方给的是在Ubuntu上进行编译,这里我使用的是CentOS7 minimal,部分软件下载 Ubuntu和CentOS不同,这里给大家总结了出来,执行以下命令即可

 1 yum install -y gcc
 2 yum install -y gcc-c++
 3 yum install -y cmake
 4 yum install -y snappy
 5 yum install -y snappy-devel
 6 yum install -y openssl
 7 yum install -y autoconf
 8 yum install -y libtool
 9 yum install -y zlib-devel
10 yum install -y pkgconfig
11 yum install -y openssl-devel
12 yum install -y bzip2
13 yum install -y bzip2-devel
14 yum install -y bzip2-libs

    上面是直接使用yum即可安装的,下面是需要我们自己下载相关文件编译安装,这里就不写这些软件的安装方式了,其中protobuf必须使用 2.5.0版本(注:谷歌将protobuf buffers放到github上后,已经找不到2.5.0官方版本了,这里提供一个从别人那里Fork到的提供给大家,protobuf-2.5.0)  

  1.    系统:CentOS Linux release 7.4.1708(minimal)
  2.    JDK:  java version "1.8.0_202"
  3.    MAVEN: apache-maven-3.6.0
  4.    ant: apache-ant-1.10.5
  5.    protobuf: protobuf-2.5.0  (必须)

 二、执行安装

    进入解压后的hadoop-2.8.5-src,执行  (这里maven可以将仓库挂载到宿主机的maven仓库,减少网络压力,挂载方法可以参考这里)

mvn package -Pdist,native -Drequire.snappy -DskipTests -Dtar

 

   要确保网络的通常,此过程比较耗时,中间可能会出现有关jar包下载失败导致编译失败,再次编译即可

   编译完成后,hadoop-2.8.5-src/hadoop-dist/target  目录下即可找到我们编译后的文件

    解压  hadoop-2.8.5-src/hadoop-dist/target/hadoop-2.8.5.tar.gz  , bin文件夹下执行 ./hadoop checknative,即可查看是否成功将本地相关库编译成功

 

最后啰嗦一下:

1 java -version       #java查看版本
2 mvn -v              #maven查看版本
3 ant -version        #ant查看版本
4 protoc --version    #protocol查看版本

 

posted @ 2019-07-08 19:39  httpslly  阅读(243)  评论(0编辑  收藏  举报