基于CentOS的Hadoop源码编译支持Snappy压缩

前期准备工作

jar包准备(hadoop源码、JDK7 maven ant protobuf)

  1. hadoop-2.7.2-src.tar.gz
  2. jdk-8u171-linux-x64.tar.gz
  3. snappy-1.1.3.tar.gz
  4. apache-maven-3.0.5-bin.tar.gz
  5. protobuf-2.5.0.tar.gz

Jar包安装

请以root用户执行程序

  1. JDK解压、配置环境变量 JAVA_HOMEPATH,验证java-version(如下都需要验证是否配置成功)
    [root@hadoop101 software] # tar -zxf jdk-7u79-linux-x64.gz-C /opt/module/
    [root@hadoop101 software]# vi /etc/profile

    #JAVA_HOME

    export JAVA_HOME=/opt/module/jdk1.8.0_161

    export PATH=$PATH:$JAVA_HOME/bin
    [root@hadoop101 software]#source /etc/profile
    验证命令:java -version
  2. Maven解压、配置  MAVEN_HOMEPATH
    [root@hadoop101 software]# tar -zxvfapache-maven-3.0.5-bin.tar.gz -C /opt/module/
    [root@hadoop101 apache-maven-3.0.5]# vi/etc/profile

    #MAVEN_HOME

    exportMAVEN_HOME=/opt/module/apache-maven-3.0.5

    export PATH=$PATH:$MAVEN_HOME/bin

    [root@hadoop101 software]#source /etc/profile
    验证命令:mvn -version

编译源码

  1. 准备编译环境

    [root@hadoop101software]# yuminstall svn
    [root@hadoop101software]# yuminstall autoconf automake libtool cmake
    [root@hadoop101software]# yuminstall ncurses-devel
    [root@hadoop101software]# yuminstall openssl-devel
    [root@hadoop101software]# yum install gcc*

  2. 编译安装snappy

    [root@hadoop101software]# tar -zxvfsnappy-1.1.3.tar.gz -C /opt/module/
    [root@hadoop101 module]# cd snappy-1.1.3/
    [root@hadoop101 snappy-1.1.3]# ./configure
    [root@hadoop101 snappy-1.1.3]# make
    [root@hadoop101 snappy-1.1.3]# make install
    # 查看snappy库文件
    [root@hadoop101 snappy-1.1.3]# ls -lh /usr/local/lib |grep snappy

编译安装protobuf

[root@hadoop101 software]# tar -zxvfprotobuf-2.5.0.tar.gz -C /opt/module/
[root@hadoop101 module]# cd protobuf-2.5.0/
通常建议安装到/usr/local目录下,执行configure时,指定--prefix=/usr/local/protobuf即可
[root@hadoop101 protobuf-2.5.0]#./configure --prefix=/usr/local/protobuf

[root@hadoop101 protobuf-2.5.0]#  make 
[root@hadoop101 protobuf-2.5.0]#  make check
[root@hadoop101 protobuf-2.5.0]#  make install
设置环境变量过程:编辑/etc/profile,在文件末尾添加:

export PATH=$PATH:/usr/local/protobuf/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/protobuf/lib
[root@hadoop101 protobuf-2.5.0]# source /etc/profile
#
查看 protobuf 版本以测试是否安装成功
[root@hadoop101 protobuf-2.5.0]# protoc --version

编译hadoop native

[root@hadoop101 software]# tar -zxvfhadoop-2.7.2-src.tar.gz
[root@hadoop101 software]# cd hadoop-2.7.2-src/
[root@hadoop101 software]#mvn clean package -DskipTests -Pdist,native -Dtar -Dsnappy.lib=/usr/local/lib 
                                                -Dbundle.snappy
执行成功后,/opt/software/hadoop-2.7.2-src/hadoop-dist/target/hadoop-2.7.2.tar.gz即为新生成的支持snappy压缩的二进制安装包。

你可能感兴趣的:(Linux,大数据)