当前位置: 代码迷 >> 综合 >> 编译hadoop-2.6.0-cdh5.7.0 使之支持snappy压缩
  详细解决方案

编译hadoop-2.6.0-cdh5.7.0 使之支持snappy压缩

热度:40   发布时间:2023-11-03 17:02:50.0

环境准备

准备一台centos 64虚拟机
关闭防火墙命令:

service  iptables   stop
chkconfig   iptables  off 

关闭selinux

vim /etc/selinux/config

创建目录:

mkdir sourcecode software

上传软件包、源码包并解压
在这里插入图片描述
在这里插入图片描述

安装jdk1.7

!!!!此处必须使用jdk1.7。使用1.8编译会报错在这里插入图片描述
删除自带的jdk

rpm -e java-1.6.0-openjdk-1.6.0.41-1.13.13.1.el6_8.x86_64 tzdata-java-2016j-1.el6.noarch java-1.7.0-openjdk-1.7.0.131-2.6.9.0.el6_8.x86_64
mkdir -p /usr/java
tar -zxvf jdk-7u75-linux-x64.tar.gz -C /usr/java

配置环境变量

export JAVA_HOME=/usr/local/java/jdk1.7.0_75
export PATH=$JAVA_HOME/bin:$PATHsource /etc/profile

安装maven

配置环境变量:

export MAVEN_HOME=/root/software/apache-maven-3.0.5
export MAVEN_OPTS="-Xms1024m -Xmx2048m"
export PATH=$MAVEN_HOME/bin:$PATH

修改配置文件:

/root/software/apache-maven-3.0.5/conf/setting.xml

注意:在编译Hadoop之前还要说明一下,maven编译Hadoop时所需要的两个仓库镜像,一个是Maven中心仓库,另一个是Cloudera 仓库,Maven中心仓库笔者用的是阿里的地址(http://maven.aliyun.com/nexus/content/groups/public/),
Cloudera 仓库地址(https://repository.cloudera.com/artifactory/cloudera-repos/)
Maven在编译Hadoop时需要在这个两个库中找相关依赖,所以要配置好Maven,可以参考网上其它学者的博客。

<localRepository>/root/software/repo</localRepository>
## 编译hadoop需要maven的jar包和cloudera源的包,网络不好会下载比较慢。这里就使用现成的本地repo了
<mirror><id>alimaven</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf></mirror>

安装findbugs

配置环境变量

export FINDBUGS_HOME=/root/software/findbugs-1.3.9
export PATH=$FINDBUGS_HOME/bin:$PATH

在线安装依赖包

yum install autoconf automake libtool cmake
yum install ncurses-devel
yum install openssl-devel
yum install lzo-devel zlib-devel gcc gcc-c++
yum install -y  bzip2-devel

安装protobuf

cd /root/software/protobuf-2.5.0
./configure --prefix=/usr/local/protobuf ##用来存放一会编译好的protobuf
make && make install

配置环境变量

export PROTOC_HOME=/usr/local/protobuf
export PATH=$PROTOC_HOME/bin:$PATH

安装snappy

cd /root/software/snappy-1.1.1
./configure
make && make install 

开始编译

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

在这里插入图片描述
由于使用本地仓库编译的。所以用时比较快。否则则需2~3小时。