前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hadoop源码编译全流程分享

Hadoop源码编译全流程分享

原创
作者头像
江帅帅
修改2020-06-03 17:50:48
2.2K0
修改2020-06-03 17:50:48
举报
文章被收录于专栏:大数据工程师

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

安装对应软件(必须联网)

安装openssl-devel

yum -y install svn 

yum -y install autoconf automake libtool cmake zlib-devel lzo-devel 

yum -y install ncurses-devel 

yum -y install openssl-devel 

yum -y install zlib1g-dev libssl-dev

安装gcc

检测gcc是否已经安装:gcc -v

如果最后一行出现gcc版本信息日志,表示已经安装成功过了

命令安装:

yum install -y gcc

安装gcc-c++

命令安装:yum -y install gcc-c++

安装JDK

安装包:jdk-7u80-linux-x64.tar.gz

解压安装:tar -zxvf /root/jdk-7u80-linux-x64.tar.gz -C /root/apps/

配置环境变量:

vi /etc/profile

加以下内容:

export JAVA_HOME=/root/apps/jdk1.7.0_80

export PATH=$PATH:$JAVA_HOME/bin

export CLASSPATH=.:/root/apps/jdk1.7.0_80/lib/dt.jar:/root/apps

/jdk1.7.0_80/lib/tools.jar

环境变量生效:source /etc/profile

检查安装是否成功:java -version

安装Maven

安装包:apache-maven-3.5.3-bin.tar.gz

解压安装:tar -zxvf /root/apache-maven-3.5.3-bin.tar.gz -C /root/apps/

修改配置文件:

进入到maven的conf目录:cd /root/apps/apache-maven-3.5.3/conf

修改配置文件settings.xml:

在配置文件的中部找到localRepository这个标签,是被注释掉的,将其放出      来自己添加路径:

<localRepository>

/root/mavenlocalrepo/

</localRepository>

配置环境变量:

vi /etc/profile

追加一下内容:

export M2_HOME=/root/apps/apache-maven-3.5.3 

export PATH=$PATH:$M2_HOME/bin

环境变量生效:source /etc/profile

检查安装是否成功:mvn -version

设置maven仓库:鉴于远程maven仓库的网络连接不稳定,可以设置成阿里的

安装Ant

安装包:apache-ant-1.9.9-bin.tar.gz

解压安装:tar -zxvf /root/apache-ant-1.9.9-bin.tar.gz -C /root/apps/配置环境变量:

vi /etc/profile

加以下内容:

export ANT_HOME=/root/apps/apache-ant-1.9.9 

export PATH=$PATH:$ANT_HOME/bin

环境变量生效:source /etc/profile

检查安装是否成功:ant -version

安装FindBugs

安装包:findbugs-3.0.0.tar.gz

解压安装:tar -zxvf /root/findbugs-3.0.0.tar.gz -C /root/apps/

配置环境变量:

vi /etc/profile

加以下内容:

export FINDBUGS_HOME=/root/apps/findbugs-3.0.0 

export PATH=$PATH:$FINDBUGS_HOME/bin

环境变量生效:source /etc/profile

检查安装是否成功:findbugs -version

安装make

先检测是否安装:

make -version 

没有安装使用yum安装:

yum install -y make

安装Cmake

安装包:cmake-2.8.12.2.tar.gz

解压安装:tar -zxvf /root/cmake-2.8.12.2.tar.gz -C /root/apps/

编译安装:

进入根目录:cd /root/apps/cmake-2.8.12.2/

依次执行一下命令(比较耗时):

./bootstrap 

gmake & gmake install

检查安装是否成功:cmake -version

安装Protobuf

安装包:protobuf-2.5.0.tar.gz

解压安装:tar -zxvf /root/protobuf-2.5.0.tar.gz -C /root/apps/

编译安装:

首先进入到根目录:cd /root/apps/protobuf-2.5.0/ 

然后依次执行以下命令(比较耗时): 

./configure --prefix=/root/apps/protobuf # 表示安装到这个目录 

make 

make check 

make install

配置环境变量:

vi /etc/profile

加以下内容:

目录就是./configure

export PROTOBUF_HOME=/root/apps/protobuf

export PATH=$PATH:$PROTOBUF_HOME/bin

环境变量生效:source /etc/profile

检查安装是否成功:protoc -version

安装Snappy

安装包:snappy-1.1.1.tar.gz

解压安装:tar -zxvf /root/snappy-1.1.1.tar.gz -C /root/apps/

编译安装:

cd ~/apps/snappy-1.1.1/ 

然后依次执行以下命令(比较耗时): 

./configure --prefix=/root/apps/protobuf # 表示安装到这个目录 

make 

make check 

make install

查看sanppy lib库:ls -lh /usr/local/lib |grep snappy

编译Hadoop 

步骤一

解压hadoop源码包tar -zxvf /root/hadoop-2.7.7-src.tar.gz -C /root/apps/

步骤二

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

export MAVEN_OPTS="-Xms256m -Xmx512m"

步骤三

切换工作目录到hadoop-2.7.7根目录下cd /root/apps/hadoop-2.7.7-src

步骤四

执行编译:

mvn clean package -Pdist,native -DskipTests -Dtar -Dsnappy.lib=/usr/local/lib - Dbundle.snappy -Drequire.openssl

如果中途编译失败,请重复执行这个命令,直到成功。如果编译过程中,发现卡住了,请停止这个命令,然后重新再执行一遍就可以了。

步骤五

静静等待编译……. 第一次编译预估一个小时左右,最后编译成功,jar包所在位置于/root/apps/hadoop-2.7.7-src/hadoop-dist/target

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档