Hadoop学习笔记 6 Hadoop源码编译

在学习Hadoop开始,便被告知官网只提供了32位系统的安装文件,如果要在64位系统中运行,那就得自己重新编译安装文件;

前段时间一直在学习怎么样安装使用Hadoop,先把编译64位的安装文件忽略了,等到对Hadoop熟悉之后再学习会更省时间,还不错,跟预想的一样。

下面就介绍一下怎么样编译64位的安装文件

系统环境

OS:RedHat6.5 64bit企业版

JDK:1.8.0_20 64bit

硬件:虚拟机

1、 前期准备

作为一个屌丝开发程序员,看到源码中的pom.xml之后就轻松了下来,这不就是maven构建的项目吗!赶紧的安装maven

 

#tar -xvzf /usr/apache-maven-3.3.3-bin.tar.gz -C /usr

#vim /etc/profile

export MAVEN_HOME=/usr/maven/apache-maven-3.3.3
export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin

#source /etc/profile

 

maven安装完成之后我以为可以了,直接用mvn -install进行编译,这时候才知道我是个菜鸟啊,居然报错了!!! 凭借着屌丝精神在百度找到了正解,还需要安装protobuf, 好吧,在csdn上下载到源码 protobuf-2.5.0.tar.gz

 

#tar -xvzf /usr/protobuf-2.5.0.tar.gz -C /usr

进入到protobuf-2.5.0根路径下

依次执行

./configure

make

make check

make install

 

在执行./configure就报错了,为什么呢?一看日志明白了少依赖库啊

configure: error: C++ preprocessor "/lib/cpp" fails sanity check

那我就安装,通过

#yum install glibc-headers

# yum install gcc-c++

安装好依赖库再执行

./configure

make

make check

make install

顺利完成

 

2-编译源码

 

# mvn package -Pdist,native -DskipTests -Dtar --不生成文档
# mvn package -Pdist,native,docs,src -DskipTests -Dtar --生成文档,需要安装findbugs,并设置FINDBUGS_HOME环境变量

 

 

 

[ERROR] around Ant part ...<exec dir="/usr/local/hadoop-2.7.1-src/hadoop-tools/hadoop-pipes/target/native" executable="cmake" failonerror="true">... @ 5:131 in /usr/local/hadoop-2.7.1-src/hadoop-tools/hadoop-pipes/target/antrun/build-main.xml

解决

yum install openssl-devel

 

 

[ERROR] around Ant part ...<exec dir="/usr/local/hadoop-2.7.1-src/hadoop-common-project/hadoop-common/target/native" executable="cmake" failonerror="true">... @ 4:141 in /usr/local/hadoop-2.7.1-src/hadoop-common-project/hadoop-common/target/antrun/build-main.xml

解决:

yum -y install zlib-devel

yum -y install ncurses-devel

 

 

你可能感兴趣的:(Hadoop学习笔记 6 Hadoop源码编译)