CentOS7编译Hadoop-2.7.2详解

原创
2016/04/21 16:42
阅读数 831

先说明,32位Linux操作系统可以直接下载编译好的Hadoop使用,但是64位Linux操作系统需要自己编译。

后来官网从hadoop2.5版本开始就提供了64位。可以直接下载使用。

不过自己动手,丰衣足食,就当是学习了。下面开始:

1.工具准备,最靠谱的是hadoop说明文档里要求具备的那些工具。

hadoop官网,点击source下载hadoop-2.7.2-src.tar.gz。

解压之

tar -zxvf hadoop-2.7.2-src.tar.gz

得到hadoop-2.7.2-src文件夹。

进入hadoop-2.7.2-src文件夹,查看BUILDING.txt

cd hadoop-2.7.1-src
vim BUILDING.txt

可以看到编译所需的库或者工具:

包括:

  • JDK1.7+

  • maven 3.0 or later

  • findbugs 1.3.9

  • protocolBuffer 2.5.0

  • cmake 2.6

  • zlib-devel

  • openssl-devel

除了上面这些,为了不出错,实际还需要autoconf  automake  gcc等。

下面开始准备这些工具:

首先使用su命令获取root权限,以免受到各种限制

2.下载jdk-8u65-linux-x64.tar.gz,解压后移动到/opt目录下

tar -zxvf jdk-8u65-linux-x64.tar.gz

mv jdk1.8.0_65 /opt

然后打开/etc/profile配置jdk环境变量

vim /etc/profile

按 i 进入插入模式,在文件末尾添加

export JAVA_HOME=/opt/jdk1.8.0_65

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin

export JRE_HOME=/opt/jdk1.8.0_65/jre

export PATH=$PATH:$JRE_HOME/bin

先后按Esc, Shift+:, wq, 回车即可保存并退出编辑。

输入 source /etc/profile 回车即可保存更改。

运行javac -version 查看状态:

[root@server1 java]# javac -version
javac 1.8.0_65
[root@server1 java]#

3.下面安装各种库,

yum -y install svn ncurses-devel gcc*

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

4.安装protobuf-2.5.0.tar.gz(注意版本必须是2.5.0)

tar zxvf protobuf-2.5.0.tar.gz

进入protobuf-2.5.0依次执行

cd protobuf-2.5.0

./configure

make

make install

验证安装是否完成

protoc --version

出现

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

5.安装maven

下载apache-maven-3.3.9-bin.tar.gz

解压缩并配置环境变量

解压:

tar -zxvf apache-maven-3.3.9-bin.tar.gz

移动到/opt目录下:

mv apache-maven-3.3.9 /opt

配置环境变量:

vim /etc/profile

在末尾添加:

export MAVEN_HOME=/opt/apache-maven-3.3.9

export MAVEN_OPTS="-Xms256m -Xmx512m"

export PATH=$PATH:$MAVEN_HOME/bin

先按Esc, Shift+:, wq, 回车即可保存并推出编辑。

输入 source /etc/profile 回车即可保存更改。

查看安装状态: mvn -version

[root@server1 ~]# mvn -version
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)
Maven home: /usr/local/maven-3.3.9
Java version: 1.8.0_65, vendor: Oracle Corporation
Java home: /usr/java/jdk1.8.0_65/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-229.el7.x86_64", arch: "amd64", family: "unix"
[root@server1 ~]#

6.安装ant

下载apache-ant-1.9.7-bin.tar.gz

解压缩并配置环境变量

解压:

tar -zxvf apache-ant-1.9.7-bin.tar.gz

移动到/opt目录下

mv apache-ant-1.9.7 /opt

配置环境变量

同上,在/etc/profile文件末未添加:

export ANT_HOME=/opt/apache-ant-1.9.7

export PATH=$PATH:$ANT_HOME/bin

然后保存,退出,并使更改生效。

查看安装结果:

ant -version

[root@server1 ~]# ant -version
Apache Ant(TM) version 1.9.7 compiled on April 9 2016
[root@server1 ~]#

7.安装findbugs

下载findbugs-3.0.1.tar.gz,选择上面的standard version即可

解压缩并配置环境变量

解压:

tar -zxvf findbugs-3.0.1.tar.gz

移动到 /opt目录下

mv findbugs-3.0.1 /opt

配置环境变量:

在 /etc/profile 文件末尾添加:

export FINDBUGS_HOME=/opt/findbugs-3.0.1

export PATH=$PATH:$FINDBUGS_HOME/bin

保存退出,并使更改生效。

查看安装结果

[root@server1 ~]# findbugs -version
3.0.1
[root@server1 ~]#

8.准备完成,下面开始编译hadoop

进入到hadoop-2.7.2-src目录

使用命令:

mvn clean package –Pdist,native –DskipTests –Dtar

或者:

mvn package -Pdist,native -DskipTests -Dtar

进行编译。  

务必保持网络畅通,经过漫长的等待,看到下图即表明编译成功!

由于本人的网络中途出现问题,重新编译了一次,差不多折腾了3个小时。

编译好的文件在/hadoop-dist/target/hadoop-2.7.2.tar.gz下。

注意事项:

1.所有命令,建议手敲,不建议复制粘贴,以避免因为页面空格造成的不必要错误。

2.务必保持网络畅通,如果出现缺少某个文件,则要先清理maven(使用命令 mvn clean) 再重新编译。

3.如果总是出现同一个错误导致编译失败,则可能是缺少某个库或者工具,检查上述工具是否都安装成功,并且版本正确。


展开阅读全文
打赏
1
2 收藏
分享
加载中
更多评论
打赏
0 评论
2 收藏
1
分享
返回顶部
顶部