zoukankan      html  css  js  c++  java
  • 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查看版本
  • 相关阅读:
    8天学通MongoDB——第一天 基础入门
    Struts2属性驱动与模型驱动
    前端传递参数,由于控制器层类实现了struts2的ModelDriven而产生的一个异常
    struts2之ModelDriven的用法
    JavaScript Array reverse 方法:颠倒数组中元素的顺序
    ibatis传入list对象
    ibatis中使用List作为传入参数的使用方法及 CDATA使用
    javascript 正则表达式判断只能是中文、英文或者中文加英文
    zclip结合easyui实现复制datagrid每行特定单元格数据的功能
    【Nodejs】使用put方式向后端查询数据并在页面显示
  • 原文地址:https://www.cnblogs.com/lly001/p/11153195.html
Copyright © 2011-2022 走看看