• Hadoop学习之路(三)Hadoop-2.7.5在CentOS-6.7上的编译


    下载Hadoop源码

    1、登录官网

    2、确定你要安装的软件的版本

    一个选取原则: 不新不旧的稳定版本

    几个标准:

      1)一般来说,刚刚发布的大版本都是有很多问题

      2)应该选择某个大版本中的最后一个小版本

    阅读编译文档

    1、准备一个hadoop源码包,我选择的hadoop的版本是:hadoop-2.7.5-src.tar.gz,在hadoop-2.7.5-src.tar.gz的源码包根目录下有一个文档叫做BUINDING.txt,这其中说明了编译hadoop所需要的一些编译环境相关的东西。不同的hadoop版本的要求都不一样。对应的版本参照BUINDING.txt。

    Requirements:
    
    * Unix System
    * JDK 1.7+
    * Maven 3.0 or later
    * Findbugs 1.3.9 (if running findbugs)
    * ProtocolBuffer 2.5.0
    * CMake 2.6 or newer (if compiling native code), must be 3.0 or newer on Mac
    * Zlib devel (if compiling native code)
    * openssl devel ( if compiling native hadoop-pipes and to get the best HDFS encryption performance )
    * Linux FUSE (Filesystem in Userspace) version 2.6 or above ( if compiling fuse_dfs )
    * Internet connection for first build (to fetch all Maven and Hadoop dependencies)

    软件安装

    对应以上需求,我们准备好所要求版本的这些软件。

    JDK的安装

    选择版本:jdk1.8.0_73

    安装依赖包

    根据编译指导文件BUILDING.txt,安装相关依赖程序包

    [root@master soft]# yum -y install gcc-c++ build-essential autoconf automake libtool cmake zlib1g-dev pkg-config libssl-devua svn openssl-devel ncurses-devel
      1 [root@master soft]# yum -y install gcc-c++ build-essential autoconf automake libtool cmake zlib1g-dev pkg-config libssl-devua svn openssl-devel ncurses-devel
      2 已加载插件:fastestmirror, refresh-packagekit, security
      3 设置安装进程
      4 Loading mirror speeds from cached hostfile
      5  * base: mirrors.163.com
      6  * extras: mirrors.163.com
      7  * updates: mirrors.cqu.edu.cn
      8 base                                                                                     | 3.7 kB     00:00     
      9 extras                                                                                   | 3.4 kB     00:00     
     10 updates                                                                                  | 3.4 kB     00:00     
     11 No package build-essential available.
     12 No package zlib1g-dev available.
     13 No package pkg-config available.
     14 No package libssl-devua available.
     15 解决依赖关系
     16 --> 执行事务检查
     17 ---> Package autoconf.noarch 0:2.63-5.1.el6 will be 安装
     18 ---> Package automake.noarch 0:1.11.1-4.el6 will be 安装
     19 ---> Package cmake.x86_64 0:2.8.12.2-4.el6 will be 安装
     20 ---> Package gcc-c++.x86_64 0:4.4.7-18.el6 will be 安装
     21 --> 处理依赖关系 libstdc++-devel = 4.4.7-18.el6,它被软件包 gcc-c++-4.4.7-18.el6.x86_64 需要
     22 --> 处理依赖关系 libstdc++ = 4.4.7-18.el6,它被软件包 gcc-c++-4.4.7-18.el6.x86_64 需要
     23 --> 处理依赖关系 gcc = 4.4.7-18.el6,它被软件包 gcc-c++-4.4.7-18.el6.x86_64 需要
     24 --> 处理依赖关系 libmpfr.so.1()(64bit),它被软件包 gcc-c++-4.4.7-18.el6.x86_64 需要
     25 ---> Package libtool.x86_64 0:2.2.6-15.5.el6 will be 安装
     26 ---> Package ncurses-devel.x86_64 0:5.7-4.20090207.el6 will be 安装
     27 ---> Package openssl-devel.x86_64 0:1.0.1e-57.el6 will be 安装
     28 --> 处理依赖关系 openssl = 1.0.1e-57.el6,它被软件包 openssl-devel-1.0.1e-57.el6.x86_64 需要
     29 --> 处理依赖关系 zlib-devel,它被软件包 openssl-devel-1.0.1e-57.el6.x86_64 需要
     30 --> 处理依赖关系 krb5-devel,它被软件包 openssl-devel-1.0.1e-57.el6.x86_64 需要
     31 ---> Package subversion.x86_64 0:1.6.11-15.el6_7 will be 安装
     32 --> 处理依赖关系 perl(URI) >= 1.17,它被软件包 subversion-1.6.11-15.el6_7.x86_64 需要
     33 --> 执行事务检查
     34 ---> Package gcc.x86_64 0:4.4.7-18.el6 will be 安装
     35 --> 处理依赖关系 libgomp = 4.4.7-18.el6,它被软件包 gcc-4.4.7-18.el6.x86_64 需要
     36 --> 处理依赖关系 cpp = 4.4.7-18.el6,它被软件包 gcc-4.4.7-18.el6.x86_64 需要
     37 --> 处理依赖关系 libgcc >= 4.4.7-18.el6,它被软件包 gcc-4.4.7-18.el6.x86_64 需要
     38 --> 处理依赖关系 cloog-ppl >= 0.15,它被软件包 gcc-4.4.7-18.el6.x86_64 需要
     39 ---> Package krb5-devel.x86_64 0:1.10.3-65.el6 will be 安装
     40 --> 处理依赖关系 libkadm5(x86-64) = 1.10.3-65.el6,它被软件包 krb5-devel-1.10.3-65.el6.x86_64 需要
     41 --> 处理依赖关系 krb5-libs = 1.10.3-65.el6,它被软件包 krb5-devel-1.10.3-65.el6.x86_64 需要
     42 --> 处理依赖关系 libselinux-devel,它被软件包 krb5-devel-1.10.3-65.el6.x86_64 需要
     43 --> 处理依赖关系 libcom_err-devel,它被软件包 krb5-devel-1.10.3-65.el6.x86_64 需要
     44 --> 处理依赖关系 keyutils-libs-devel,它被软件包 krb5-devel-1.10.3-65.el6.x86_64 需要
     45 ---> Package libstdc++.x86_64 0:4.4.7-16.el6 will be 升级
     46 ---> Package libstdc++.x86_64 0:4.4.7-18.el6 will be an update
     47 ---> Package libstdc++-devel.x86_64 0:4.4.7-18.el6 will be 安装
     48 ---> Package mpfr.x86_64 0:2.4.1-6.el6 will be 安装
     49 ---> Package openssl.x86_64 0:1.0.1e-42.el6 will be 升级
     50 ---> Package openssl.x86_64 0:1.0.1e-57.el6 will be an update
     51 ---> Package perl-URI.noarch 0:1.40-2.el6 will be 安装
     52 ---> Package zlib-devel.x86_64 0:1.2.3-29.el6 will be 安装
     53 --> 执行事务检查
     54 ---> Package cloog-ppl.x86_64 0:0.15.7-1.2.el6 will be 安装
     55 --> 处理依赖关系 libppl_c.so.2()(64bit),它被软件包 cloog-ppl-0.15.7-1.2.el6.x86_64 需要
     56 --> 处理依赖关系 libppl.so.7()(64bit),它被软件包 cloog-ppl-0.15.7-1.2.el6.x86_64 需要
     57 ---> Package cpp.x86_64 0:4.4.7-18.el6 will be 安装
     58 ---> Package keyutils-libs-devel.x86_64 0:1.4-5.el6 will be 安装
     59 ---> Package krb5-libs.x86_64 0:1.10.3-42.el6 will be 升级
     60 --> 处理依赖关系 krb5-libs = 1.10.3-42.el6,它被软件包 krb5-workstation-1.10.3-42.el6.x86_64 需要
     61 ---> Package krb5-libs.x86_64 0:1.10.3-65.el6 will be an update
     62 ---> Package libcom_err-devel.x86_64 0:1.41.12-23.el6 will be 安装
     63 --> 处理依赖关系 libcom_err = 1.41.12-23.el6,它被软件包 libcom_err-devel-1.41.12-23.el6.x86_64 需要
     64 ---> Package libgcc.x86_64 0:4.4.7-16.el6 will be 升级
     65 ---> Package libgcc.x86_64 0:4.4.7-18.el6 will be an update
     66 ---> Package libgomp.x86_64 0:4.4.7-16.el6 will be 升级
     67 ---> Package libgomp.x86_64 0:4.4.7-18.el6 will be an update
     68 ---> Package libkadm5.x86_64 0:1.10.3-65.el6 will be 安装
     69 ---> Package libselinux-devel.x86_64 0:2.0.94-7.el6 will be 安装
     70 --> 处理依赖关系 libselinux = 2.0.94-7.el6,它被软件包 libselinux-devel-2.0.94-7.el6.x86_64 需要
     71 --> 处理依赖关系 libsepol-devel >= 2.0.32-1,它被软件包 libselinux-devel-2.0.94-7.el6.x86_64 需要
     72 --> 处理依赖关系 pkgconfig(libsepol),它被软件包 libselinux-devel-2.0.94-7.el6.x86_64 需要
     73 --> 执行事务检查
     74 ---> Package krb5-workstation.x86_64 0:1.10.3-42.el6 will be 升级
     75 ---> Package krb5-workstation.x86_64 0:1.10.3-65.el6 will be an update
     76 ---> Package libcom_err.x86_64 0:1.41.12-22.el6 will be 升级
     77 --> 处理依赖关系 libcom_err = 1.41.12-22.el6,它被软件包 libss-1.41.12-22.el6.x86_64 需要
     78 --> 处理依赖关系 libcom_err = 1.41.12-22.el6,它被软件包 e2fsprogs-libs-1.41.12-22.el6.x86_64 需要
     79 --> 处理依赖关系 libcom_err = 1.41.12-22.el6,它被软件包 e2fsprogs-1.41.12-22.el6.x86_64 需要
     80 ---> Package libcom_err.x86_64 0:1.41.12-23.el6 will be an update
     81 ---> Package libselinux.x86_64 0:2.0.94-5.8.el6 will be 升级
     82 --> 处理依赖关系 libselinux = 2.0.94-5.8.el6,它被软件包 libselinux-utils-2.0.94-5.8.el6.x86_64 需要
     83 --> 处理依赖关系 libselinux = 2.0.94-5.8.el6,它被软件包 libselinux-python-2.0.94-5.8.el6.x86_64 需要
     84 ---> Package libselinux.x86_64 0:2.0.94-7.el6 will be an update
     85 ---> Package libsepol-devel.x86_64 0:2.0.41-4.el6 will be 安装
     86 ---> Package ppl.x86_64 0:0.10.2-11.el6 will be 安装
     87 --> 执行事务检查
     88 ---> Package e2fsprogs.x86_64 0:1.41.12-22.el6 will be 升级
     89 ---> Package e2fsprogs.x86_64 0:1.41.12-23.el6 will be an update
     90 ---> Package e2fsprogs-libs.x86_64 0:1.41.12-22.el6 will be 升级
     91 ---> Package e2fsprogs-libs.x86_64 0:1.41.12-23.el6 will be an update
     92 ---> Package libselinux-python.x86_64 0:2.0.94-5.8.el6 will be 升级
     93 ---> Package libselinux-python.x86_64 0:2.0.94-7.el6 will be an update
     94 ---> Package libselinux-utils.x86_64 0:2.0.94-5.8.el6 will be 升级
     95 ---> Package libselinux-utils.x86_64 0:2.0.94-7.el6 will be an update
     96 ---> Package libss.x86_64 0:1.41.12-22.el6 will be 升级
     97 ---> Package libss.x86_64 0:1.41.12-23.el6 will be an update
     98 --> 完成依赖关系计算
     99 
    100 依赖关系解决
    101 
    102 ================================================================================================================
    103  软件包                           架构                版本                              仓库               大小
    104 ================================================================================================================
    105 正在安装:
    106  autoconf                         noarch              2.63-5.1.el6                      base              781 k
    107  automake                         noarch              1.11.1-4.el6                      base              550 k
    108  cmake                            x86_64              2.8.12.2-4.el6                    base              8.0 M
    109  gcc-c++                          x86_64              4.4.7-18.el6                      base              4.7 M
    110  libtool                          x86_64              2.2.6-15.5.el6                    base              564 k
    111  ncurses-devel                    x86_64              5.7-4.20090207.el6                base              641 k
    112  openssl-devel                    x86_64              1.0.1e-57.el6                     base              1.2 M
    113  subversion                       x86_64              1.6.11-15.el6_7                   base              2.3 M
    114 为依赖而安装:
    115  cloog-ppl                        x86_64              0.15.7-1.2.el6                    base               93 k
    116  cpp                              x86_64              4.4.7-18.el6                      base              3.7 M
    117  gcc                              x86_64              4.4.7-18.el6                      base               10 M
    118  keyutils-libs-devel              x86_64              1.4-5.el6                         base               29 k
    119  krb5-devel                       x86_64              1.10.3-65.el6                     base              504 k
    120  libcom_err-devel                 x86_64              1.41.12-23.el6                    base               33 k
    121  libkadm5                         x86_64              1.10.3-65.el6                     base              143 k
    122  libselinux-devel                 x86_64              2.0.94-7.el6                      base              137 k
    123  libsepol-devel                   x86_64              2.0.41-4.el6                      base               64 k
    124  libstdc++-devel                  x86_64              4.4.7-18.el6                      base              1.6 M
    125  mpfr                             x86_64              2.4.1-6.el6                       base              157 k
    126  perl-URI                         noarch              1.40-2.el6                        base              117 k
    127  ppl                              x86_64              0.10.2-11.el6                     base              1.3 M
    128  zlib-devel                       x86_64              1.2.3-29.el6                      base               44 k
    129 为依赖而更新:
    130  e2fsprogs                        x86_64              1.41.12-23.el6                    base              554 k
    131  e2fsprogs-libs                   x86_64              1.41.12-23.el6                    base              121 k
    132  krb5-libs                        x86_64              1.10.3-65.el6                     base              675 k
    133  krb5-workstation                 x86_64              1.10.3-65.el6                     base              814 k
    134  libcom_err                       x86_64              1.41.12-23.el6                    base               38 k
    135  libgcc                           x86_64              4.4.7-18.el6                      base              103 k
    136  libgomp                          x86_64              4.4.7-18.el6                      base              134 k
    137  libselinux                       x86_64              2.0.94-7.el6                      base              109 k
    138  libselinux-python                x86_64              2.0.94-7.el6                      base              203 k
    139  libselinux-utils                 x86_64              2.0.94-7.el6                      base               82 k
    140  libss                            x86_64              1.41.12-23.el6                    base               42 k
    141  libstdc++                        x86_64              4.4.7-18.el6                      base              295 k
    142  openssl                          x86_64              1.0.1e-57.el6                     base              1.5 M
    143 
    144 事务概要
    145 ================================================================================================================
    146 Install      22 Package(s)
    147 Upgrade      13 Package(s)
    148 
    149 总下载量:41 M
    150 下载软件包:
    151 (1/35): autoconf-2.63-5.1.el6.noarch.rpm                                                 | 781 kB     00:00     
    152 (2/35): automake-1.11.1-4.el6.noarch.rpm                                                 | 550 kB     00:00     
    153 (3/35): cloog-ppl-0.15.7-1.2.el6.x86_64.rpm                                              |  93 kB     00:00     
    154 (4/35): cmake-2.8.12.2-4.el6.x86_64.rpm                                                  | 8.0 MB     00:00     
    155 (5/35): cpp-4.4.7-18.el6.x86_64.rpm                                                      | 3.7 MB     00:00     
    156 (6/35): e2fsprogs-1.41.12-23.el6.x86_64.rpm                                              | 554 kB     00:00     
    157 (7/35): e2fsprogs-libs-1.41.12-23.el6.x86_64.rpm                                         | 121 kB     00:00     
    158 (8/35): gcc-4.4.7-18.el6.x86_64.rpm                                                      |  10 MB     00:01     
    159 (9/35): gcc-c++-4.4.7-18.el6.x86_64.rpm                                                  | 4.7 MB     00:00     
    160 (10/35): keyutils-libs-devel-1.4-5.el6.x86_64.rpm                                        |  29 kB     00:00     
    161 (11/35): krb5-devel-1.10.3-65.el6.x86_64.rpm                                             | 504 kB     00:00     
    162 (12/35): krb5-libs-1.10.3-65.el6.x86_64.rpm                                              | 675 kB     00:00     
    163 (13/35): krb5-workstation-1.10.3-65.el6.x86_64.rpm                                       | 814 kB     00:00     
    164 (14/35): libcom_err-1.41.12-23.el6.x86_64.rpm                                            |  38 kB     00:00     
    165 (15/35): libcom_err-devel-1.41.12-23.el6.x86_64.rpm                                      |  33 kB     00:00     
    166 (16/35): libgcc-4.4.7-18.el6.x86_64.rpm                                                  | 103 kB     00:00     
    167 (17/35): libgomp-4.4.7-18.el6.x86_64.rpm                                                 | 134 kB     00:00     
    168 (18/35): libkadm5-1.10.3-65.el6.x86_64.rpm                                               | 143 kB     00:00     
    169 (19/35): libselinux-2.0.94-7.el6.x86_64.rpm                                              | 109 kB     00:00     
    170 (20/35): libselinux-devel-2.0.94-7.el6.x86_64.rpm                                        | 137 kB     00:00     
    171 (21/35): libselinux-python-2.0.94-7.el6.x86_64.rpm                                       | 203 kB     00:00     
    172 (22/35): libselinux-utils-2.0.94-7.el6.x86_64.rpm                                        |  82 kB     00:00     
    173 (23/35): libsepol-devel-2.0.41-4.el6.x86_64.rpm                                          |  64 kB     00:00     
    174 (24/35): libss-1.41.12-23.el6.x86_64.rpm                                                 |  42 kB     00:00     
    175 (25/35): libstdc++-4.4.7-18.el6.x86_64.rpm                                               | 295 kB     00:00     
    176 (26/35): libstdc++-devel-4.4.7-18.el6.x86_64.rpm                                         | 1.6 MB     00:01     
    177 (27/35): libtool-2.2.6-15.5.el6.x86_64.rpm                                               | 564 kB     00:00     
    178 (28/35): mpfr-2.4.1-6.el6.x86_64.rpm                                                     | 157 kB     00:00     
    179 (29/35): ncurses-devel-5.7-4.20090207.el6.x86_64.rpm                                     | 641 kB     00:00     
    180 (30/35): openssl-1.0.1e-57.el6.x86_64.rpm                                                | 1.5 MB     00:00     
    181 (31/35): openssl-devel-1.0.1e-57.el6.x86_64.rpm                                          | 1.2 MB     00:00     
    182 (32/35): perl-URI-1.40-2.el6.noarch.rpm                                                  | 117 kB     00:00     
    183 (33/35): ppl-0.10.2-11.el6.x86_64.rpm                                                    | 1.3 MB     00:00     
    184 (34/35): subversion-1.6.11-15.el6_7.x86_64.rpm                                           | 2.3 MB     00:00     
    185 (35/35): zlib-devel-1.2.3-29.el6.x86_64.rpm                                              |  44 kB     00:00     
    186 ----------------------------------------------------------------------------------------------------------------
    187 总计                                                                            4.1 MB/s |  41 MB     00:09     
    188 warning: rpmts_HdrFromFdno: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
    189 Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
    190 Importing GPG key 0xC105B9DE:
    191  Userid : CentOS-6 Key (CentOS 6 Official Signing Key) <centos-6-key@centos.org>
    192  Package: centos-release-6-7.el6.centos.12.3.x86_64 (@anaconda-CentOS-201508042137.x86_64/6.7)
    193  From   : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
    194 运行 rpm_check_debug 
    195 执行事务测试
    196 事务测试成功
    197 执行事务
    198   正在升级   : libcom_err-1.41.12-23.el6.x86_64                                                            1/48 
    199   正在升级   : libselinux-2.0.94-7.el6.x86_64                                                              2/48 
    200   正在升级   : krb5-libs-1.10.3-65.el6.x86_64                                                              3/48 
    201   正在升级   : libgcc-4.4.7-18.el6.x86_64                                                                  4/48 
    202   正在升级   : libstdc++-4.4.7-18.el6.x86_64                                                               5/48 
    203   正在安装   : libkadm5-1.10.3-65.el6.x86_64                                                               6/48 
    204   正在升级   : libss-1.41.12-23.el6.x86_64                                                                 7/48 
    205   正在安装   : autoconf-2.63-5.1.el6.noarch                                                                8/48 
    206   正在安装   : mpfr-2.4.1-6.el6.x86_64                                                                     9/48 
    207   正在安装   : cpp-4.4.7-18.el6.x86_64                                                                    10/48 
    208   正在安装   : automake-1.11.1-4.el6.noarch                                                               11/48 
    209   正在安装   : libstdc++-devel-4.4.7-18.el6.x86_64                                                        12/48 
    210   正在安装   : ppl-0.10.2-11.el6.x86_64                                                                   13/48 
    211   正在安装   : cloog-ppl-0.15.7-1.2.el6.x86_64                                                            14/48 
    212   正在升级   : openssl-1.0.1e-57.el6.x86_64                                                               15/48 
    213   正在升级   : e2fsprogs-libs-1.41.12-23.el6.x86_64                                                       16/48 
    214   正在安装   : libcom_err-devel-1.41.12-23.el6.x86_64                                                     17/48 
    215   正在升级   : libgomp-4.4.7-18.el6.x86_64                                                                18/48 
    216   正在安装   : gcc-4.4.7-18.el6.x86_64                                                                    19/48 
    217   正在安装   : libsepol-devel-2.0.41-4.el6.x86_64                                                         20/48 
    218   正在安装   : libselinux-devel-2.0.94-7.el6.x86_64                                                       21/48 
    219   正在安装   : perl-URI-1.40-2.el6.noarch                                                                 22/48 
    220   正在安装   : zlib-devel-1.2.3-29.el6.x86_64                                                             23/48 
    221   正在安装   : keyutils-libs-devel-1.4-5.el6.x86_64                                                       24/48 
    222   正在安装   : krb5-devel-1.10.3-65.el6.x86_64                                                            25/48 
    223   正在安装   : openssl-devel-1.0.1e-57.el6.x86_64                                                         26/48 
    224   正在安装   : subversion-1.6.11-15.el6_7.x86_64                                                          27/48 
    225   正在安装   : gcc-c++-4.4.7-18.el6.x86_64                                                                28/48 
    226   正在安装   : libtool-2.2.6-15.5.el6.x86_64                                                              29/48 
    227   正在升级   : e2fsprogs-1.41.12-23.el6.x86_64                                                            30/48 
    228   正在升级   : krb5-workstation-1.10.3-65.el6.x86_64                                                      31/48 
    229   正在安装   : cmake-2.8.12.2-4.el6.x86_64                                                                32/48 
    230   正在升级   : libselinux-python-2.0.94-7.el6.x86_64                                                      33/48 
    231   正在升级   : libselinux-utils-2.0.94-7.el6.x86_64                                                       34/48 
    232   正在安装   : ncurses-devel-5.7-4.20090207.el6.x86_64                                                    35/48 
    233   清理       : krb5-workstation-1.10.3-42.el6.x86_64                                                      36/48 
    234   清理       : e2fsprogs-1.41.12-22.el6.x86_64                                                            37/48 
    235   清理       : openssl-1.0.1e-42.el6.x86_64                                                               38/48 
    236   清理       : krb5-libs-1.10.3-42.el6.x86_64                                                             39/48 
    237   清理       : e2fsprogs-libs-1.41.12-22.el6.x86_64                                                       40/48 
    238   清理       : libss-1.41.12-22.el6.x86_64                                                                41/48 
    239   清理       : libselinux-utils-2.0.94-5.8.el6.x86_64                                                     42/48 
    240   清理       : libselinux-python-2.0.94-5.8.el6.x86_64                                                    43/48 
    241   清理       : libstdc++-4.4.7-16.el6.x86_64                                                              44/48 
    242   清理       : libgcc-4.4.7-16.el6.x86_64                                                                 45/48 
    243   清理       : libselinux-2.0.94-5.8.el6.x86_64                                                           46/48 
    244   清理       : libcom_err-1.41.12-22.el6.x86_64                                                           47/48 
    245   清理       : libgomp-4.4.7-16.el6.x86_64                                                                48/48 
    246   Verifying  : libstdc++-devel-4.4.7-18.el6.x86_64                                                         1/48 
    247   Verifying  : e2fsprogs-1.41.12-23.el6.x86_64                                                             2/48 
    248   Verifying  : krb5-devel-1.10.3-65.el6.x86_64                                                             3/48 
    249   Verifying  : libcom_err-1.41.12-23.el6.x86_64                                                            4/48 
    250   Verifying  : cmake-2.8.12.2-4.el6.x86_64                                                                 5/48 
    251   Verifying  : subversion-1.6.11-15.el6_7.x86_64                                                           6/48 
    252   Verifying  : krb5-libs-1.10.3-65.el6.x86_64                                                              7/48 
    253   Verifying  : e2fsprogs-libs-1.41.12-23.el6.x86_64                                                        8/48 
    254   Verifying  : krb5-workstation-1.10.3-65.el6.x86_64                                                       9/48 
    255   Verifying  : gcc-c++-4.4.7-18.el6.x86_64                                                                10/48 
    256   Verifying  : automake-1.11.1-4.el6.noarch                                                               11/48 
    257   Verifying  : keyutils-libs-devel-1.4-5.el6.x86_64                                                       12/48 
    258   Verifying  : cpp-4.4.7-18.el6.x86_64                                                                    13/48 
    259   Verifying  : libselinux-2.0.94-7.el6.x86_64                                                             14/48 
    260   Verifying  : mpfr-2.4.1-6.el6.x86_64                                                                    15/48 
    261   Verifying  : autoconf-2.63-5.1.el6.noarch                                                               16/48 
    262   Verifying  : zlib-devel-1.2.3-29.el6.x86_64                                                             17/48 
    263   Verifying  : gcc-4.4.7-18.el6.x86_64                                                                    18/48 
    264   Verifying  : libstdc++-4.4.7-18.el6.x86_64                                                              19/48 
    265   Verifying  : ncurses-devel-5.7-4.20090207.el6.x86_64                                                    20/48 
    266   Verifying  : openssl-devel-1.0.1e-57.el6.x86_64                                                         21/48 
    267   Verifying  : perl-URI-1.40-2.el6.noarch                                                                 22/48 
    268   Verifying  : libgcc-4.4.7-18.el6.x86_64                                                                 23/48 
    269   Verifying  : ppl-0.10.2-11.el6.x86_64                                                                   24/48 
    270   Verifying  : libselinux-python-2.0.94-7.el6.x86_64                                                      25/48 
    271   Verifying  : libss-1.41.12-23.el6.x86_64                                                                26/48 
    272   Verifying  : libsepol-devel-2.0.41-4.el6.x86_64                                                         27/48 
    273   Verifying  : libselinux-utils-2.0.94-7.el6.x86_64                                                       28/48 
    274   Verifying  : libgomp-4.4.7-18.el6.x86_64                                                                29/48 
    275   Verifying  : cloog-ppl-0.15.7-1.2.el6.x86_64                                                            30/48 
    276   Verifying  : openssl-1.0.1e-57.el6.x86_64                                                               31/48 
    277   Verifying  : libkadm5-1.10.3-65.el6.x86_64                                                              32/48 
    278   Verifying  : libcom_err-devel-1.41.12-23.el6.x86_64                                                     33/48 
    279   Verifying  : libselinux-devel-2.0.94-7.el6.x86_64                                                       34/48 
    280   Verifying  : libtool-2.2.6-15.5.el6.x86_64                                                              35/48 
    281   Verifying  : libgomp-4.4.7-16.el6.x86_64                                                                36/48 
    282   Verifying  : libss-1.41.12-22.el6.x86_64                                                                37/48 
    283   Verifying  : libstdc++-4.4.7-16.el6.x86_64                                                              38/48 
    284   Verifying  : openssl-1.0.1e-42.el6.x86_64                                                               39/48 
    285   Verifying  : libgcc-4.4.7-16.el6.x86_64                                                                 40/48 
    286   Verifying  : libselinux-utils-2.0.94-5.8.el6.x86_64                                                     41/48 
    287   Verifying  : e2fsprogs-1.41.12-22.el6.x86_64                                                            42/48 
    288   Verifying  : krb5-libs-1.10.3-42.el6.x86_64                                                             43/48 
    289   Verifying  : krb5-workstation-1.10.3-42.el6.x86_64                                                      44/48 
    290   Verifying  : libselinux-2.0.94-5.8.el6.x86_64                                                           45/48 
    291   Verifying  : libcom_err-1.41.12-22.el6.x86_64                                                           46/48 
    292   Verifying  : libselinux-python-2.0.94-5.8.el6.x86_64                                                    47/48 
    293   Verifying  : e2fsprogs-libs-1.41.12-22.el6.x86_64                                                       48/48 
    294 
    295 已安装:
    296   autoconf.noarch 0:2.63-5.1.el6                       automake.noarch 0:1.11.1-4.el6                           
    297   cmake.x86_64 0:2.8.12.2-4.el6                        gcc-c++.x86_64 0:4.4.7-18.el6                            
    298   libtool.x86_64 0:2.2.6-15.5.el6                      ncurses-devel.x86_64 0:5.7-4.20090207.el6                
    299   openssl-devel.x86_64 0:1.0.1e-57.el6                 subversion.x86_64 0:1.6.11-15.el6_7                      
    300 
    301 作为依赖被安装:
    302   cloog-ppl.x86_64 0:0.15.7-1.2.el6                    cpp.x86_64 0:4.4.7-18.el6                               
    303   gcc.x86_64 0:4.4.7-18.el6                            keyutils-libs-devel.x86_64 0:1.4-5.el6                  
    304   krb5-devel.x86_64 0:1.10.3-65.el6                    libcom_err-devel.x86_64 0:1.41.12-23.el6                
    305   libkadm5.x86_64 0:1.10.3-65.el6                      libselinux-devel.x86_64 0:2.0.94-7.el6                  
    306   libsepol-devel.x86_64 0:2.0.41-4.el6                 libstdc++-devel.x86_64 0:4.4.7-18.el6                   
    307   mpfr.x86_64 0:2.4.1-6.el6                            perl-URI.noarch 0:1.40-2.el6                            
    308   ppl.x86_64 0:0.10.2-11.el6                           zlib-devel.x86_64 0:1.2.3-29.el6                        
    309 
    310 作为依赖被升级:
    311   e2fsprogs.x86_64 0:1.41.12-23.el6                      e2fsprogs-libs.x86_64 0:1.41.12-23.el6                
    312   krb5-libs.x86_64 0:1.10.3-65.el6                       krb5-workstation.x86_64 0:1.10.3-65.el6               
    313   libcom_err.x86_64 0:1.41.12-23.el6                     libgcc.x86_64 0:4.4.7-18.el6                          
    314   libgomp.x86_64 0:4.4.7-18.el6                          libselinux.x86_64 0:2.0.94-7.el6                      
    315   libselinux-python.x86_64 0:2.0.94-7.el6                libselinux-utils.x86_64 0:2.0.94-7.el6                
    316   libss.x86_64 0:1.41.12-23.el6                          libstdc++.x86_64 0:4.4.7-18.el6                       
    317   openssl.x86_64 0:1.0.1e-57.el6                        
    318 
    319 完毕!
    320 [root@master soft]# 
    View Code

    安装Maven

    编译要求:Maven 3.0 or later
    安装软件:apache-maven-3.0.5-bin.tar.gz

    [root@hadoop1 soft]# ls
    apache-maven-3.3.9-bin.tar.gz
    [root@hadoop1 soft]# chmod 755 apache-maven-3.3.9-bin.tar.gz 
    [root@hadoop1 soft]# tar -zxvf apache-maven-3.3.9-bin.tar.gz 
    。。。
    [root@hadoop1 soft]# mv apache-maven-3.3.9 /opt/
    [root@hadoop1 soft]# vi /etc/profile

    配置mvn的环境变量

    export M2_HOME=/opt/apache-maven-3.3.
    export PATH=$PATH:$M2_HOME/bin

    测试

    [root@hadoop1 soft]# mvn -v
    Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)
    Maven home: /opt/apache-maven-3.3.9
    Java version: 1.8.0_73, vendor: Oracle Corporation
    Java home: /usr/local/jdk1.8.0_73/jre
    Default locale: zh_CN, platform encoding: UTF-8
    OS name: "linux", version: "2.6.32-573.el6.x86_64", arch: "amd64", family: "unix"
    [root@hadoop1 soft]# 

     

    安装Findbugs

    编译要求:Findbugs 1.3.9 
    安装软件:findbugs-3.0.1.tar.gz

    [root@hadoop1 soft]# ls
    findbugs-3.0.1.tar.gz
    [root@hadoop1 soft]# chmod 755 findbugs-3.0.1.tar.gz 
    [root@hadoop1 soft]# tar -zxvf findbugs-3.0.1.tar.gz -C /opt

     配置Findbugs环境变量

    [root@hadoop1 soft]# vi /etc/profile

    export FINDBUGS_HOME=/opt/findbugs-3.0.1
    export PATH=$PATH:$FINDBUGS_HOME/bin

    测试

    [root@hadoop1 soft]# findbugs -version
    3.0.1
    [root@hadoop1 soft]# 

     

    安装ProtocolBuffer

    编译要求:ProtocolBuffer 2.5.0 
    安装软件:protobuf-2.5.0.tar.gz,不建议用其它版本

    [root@hadoop1 soft]# ls
    protobuf-2.5.0.tar.gz
    [root@hadoop1 soft]# chmod 755 protobuf-2.5.0.tar.gz 
    [root@hadoop1 soft]# tar -zxvf protobuf-2.5.0.tar.gz -C /opt
    [root@hadoop1 soft]# cd /opt/protobuf-2.5.0/
    [root@hadoop1 protobuf-2.5.0]# ./configure 
    [root@hadoop1 protobuf-2.5.0]# make
    [root@hadoop1 protobuf-2.5.0]# make install

    测试

    [root@hadoop1 protobuf-2.5.0]# protoc --version
    libprotoc 2.5.0
    [root@hadoop1 protobuf-2.5.0]# 

     

    修改maven的配置文件,添加maven的下载源

    [root@hadoop1 protobuf-2.5.0]# cd /opt/apache-maven-3.3.9/conf/
    [root@hadoop1 conf]# vi settings.xml

    在mirrors中添加alimaven的下载源

    <mirrors>
        <!-- mirror
         | Specifies a repository mirror site to use instead of a given repository. The repository that
         | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
         | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
         |
        
            <mirror>
            <id>alimaven</id>
            <mirrorOf>central</mirrorOf>
             <name>aliyun maven</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
            </mirror>
            <mirror>
            <id>mirrorId</id>
            <mirrorOf>repositoryId</mirrorOf>
            <name>Human Readable Name for this Mirror.</name>
            <url>http://my.repository.com/repo/path</url>
            </mirror>
         -->
    </mirrors>

    安装Ant

    [root@hadoop1 soft]# ls
    apache-ant-1.9.4-bin.tar.gz  hadoop-2.7.5-src
    [root@hadoop1 soft]# tar -zxvf apache-ant-1.9.4-bin.tar.gz -C /opt/

    配置环境变量

    [root@hadoop1 apache-ant-1.9.4]# vi /etc/profile
    #Ant
    export ANT_HOME=/opt/apache-ant-1.9.4
    export PATH=$PATH:$ANT_HOME/bin

    检测

    [root@hadoop1 apache-ant-1.9.4]# ant -version
    Apache Ant(TM) version 1.9.4 compiled on April 29 2014
    [root@hadoop1 apache-ant-1.9.4]# 

    安装Snappy

    解压

    [root@hadoop1 soft]# ls
    hadoop-2.7.5-src  snappy-1.1.1.tar.gz
    [root@hadoop1 soft]# tar -zxvf snappy-1.1.1.tar.gz -C /opt/

    安装

    [root@hadoop1 soft]# cd /opt/snappy-1.1.1/
    [root@hadoop1 snappy-1.1.1]# ./configure 
    [root@hadoop1 snappy-1.1.1]# make 
    [root@hadoop1 snappy-1.1.1]# make install

    查看snappy文件库

    [root@hadoop1 snappy-1.1.1]# ls -lh /usr/local/lib | grep snappy
    -rw-r--r--  1 root root 228K 3月   3 09:51 libsnappy.a
    -rwxr-xr-x  1 root root  953 3月   3 09:51 libsnappy.la
    lrwxrwxrwx  1 root root   18 3月   3 09:51 libsnappy.so -> libsnappy.so.1.2.0
    lrwxrwxrwx  1 root root   18 3月   3 09:51 libsnappy.so.1 -> libsnappy.so.1.2.0
    -rwxr-xr-x  1 root root 145K 3月   3 09:51 libsnappy.so.1.2.0
    [root@hadoop1 snappy-1.1.1]# 

    开始编译hadoop

    [root@hadoop1 soft]# ls
    [root@hadoop1 soft]# tar -zxvf hadoop-2.7.5-src.tar.gz 

    在编译之前防止java.lang.OutOfMemoryError:Java heap space堆栈问题,在centos系统中执行命令

    [root@hadoop1 snappy-1.1.1]# export MAVEN_OPTS="-Xms256m -Xmx512m"

    进入源码包下,执行命令进行编译

    [root@hadoop1 snappy-1.1.1]# cd /soft/hadoop-2.7.5-src/
    [root@hadoop1 hadoop-2.7.5-src]# mvn package -Pdist,native,docs -DskipTests -Dtar

     如果中途编译失败,并且不要文档的话,请使用这个命令:

    [root@master ~]# mvn clear package -Pdist,native -DskipTests -Dtar -Dsnappy.lib=/usr/local/lib -Dbundle.snappy -Drequire.openssl

     

    编译成功之后,hadoop-2.7.5.tar.gz位于/soft/hadoop-2.7.5-src/hadoop-dist/target目录下,这是编译后文件夹的状态

    至此,大功告成!!!

  • 相关阅读:
    ubuntu下在apache部署python站点
    MySQL设置从库只读模式
    mysql数据库,创建只读用户
    BUG处理流程说明
    bug的处理流程
    nginx 502 Bad Gateway 错误解决办法
    Linux下批量替换文件内容方法
    centos 安装pecl
    php学习资源
    Docker容器进入的4种方式(转)
  • 原文地址:https://www.cnblogs.com/qingyunzong/p/8494990.html
Copyright © 2020-2023  润新知