您的位置:首页 > 运维架构

Ubuntu14.04 (x64) 下hadoop2.5.0的编译

2015-06-12 09:59 393 查看

Ubuntu14.04 (x64) 下hadoop2.5.0的编译

详情见原文地址:http://jeyzhang.com/154/

1. 前言

2. 操作系统及版本说明

Ubuntu14.04 64位。

如果你的操作系统是32位的,可以跳过这篇,因为只有64位的linux系统需要进行hadoop的编译。

> 如何查看linux系统的位数

1
2
3
4
5
6
7
方法1:
#查看long的位数,返回32或64
getconf LONG_BIT

方法2:
#查看文件信息,包含32-bit就是32位,包含64-bit就是64位
file /sbin/init
3. Hadoop编译版本

Hadoop 2.5.0

4. 编译工作

4.1 编译准备

编译之前需要安装一些软件和工具,有些是linux自带的,但是有些是要自己去下载安装的。如果系统中已安装,请检查一下软件的版本是否匹配,如果不匹配则进行升级或者重新安装。

4.1.1 jdk安装配置

建议安装jdk1.7.X版本,笔者之前安装的是jdk1.8.0,编译时出现了问题。

官网上下载适合自己系统的JDK版本(注意选择x64版本的,后缀名为tar.gz),这里建议安装jdk1.7.0版本

选择

1
Linux x64 135.78 MB jdk-7u67-linux-x64.tar.gz
下载后将压缩包复制到/usr/lib/jvm/下,解压

1
2
3
4
5
6
7
8
9
10
11
12
13
# 复制到/usr/lib/jvm下
# 如果没有jvm目录则cd到/usr/lib下新建
sudo mkdir /usr/lib/jvm
sudo cp /home/jerry/downlods/jdk-7u67-linux-x64.tar.gz /usr/lib/jvm

# 解压
sudo tar zxvf jdk-7u67-linux-x64.tar.gz

# 重命名
sudo mv jdk1.7.0_67 jdk1.7.0

# 可以删除压缩包
sudo rm jdk-7u67-linux-x64.tar.gz
添加环境变量

1
sudo vim ~/.bashrc
环境变量生效

1
source ~/.bashrc
加入下面内容

1
2
3
4
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
配置默认的JDK版本

1
2
3
4
5
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0/bin/java 300
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.7.0/bin/javac 300
sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk1.7.0/bin/jar 300

sudo update-alternatives --install /usr/bin/javah javah /usr/lib/jvm/jdk1.7.0/bin/javah 300

sudo update-alternatives --install /usr/bin/javap javap /usr/lib/jvm/jdk1.7.0/bin/javap 300
执行

1
sudo update-alternatives --config java
如果是首次安装,将提示如下

1
2
There is only one alternative in link group java (providing /usr/bin/java): /usr/lib/jvm/java/
bin/java
无需其他配置。

如果非首次安装,需要选择对应的JDK版本,即输入对应的数字(*对应的是系统默认的JDK版本)

1
2
3
4
选择 路径 优先级 状态
------------------------------------------------------------
0 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 自动模式
* 1 /usr/lib/jvm/jdk1.7.0/bin/java 300 手动模式
检查JDK是否安装成功

1
java -version
如果出现以下提示,安装成功

1
2
3
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)
如果还是提示没有安装,可能是/usr/lib/jvm文件夹权限问题,可以尝试

1
sudo chmod -R 774 /usr/lib/jvm
或者 添加用户访问文件夹的权限

1
sudo chown -R 用户名 /usr/lib/jvm
4.1.2 Maven的安装

简介:Maven 一词的意思是“专家”或者“内行”,作为Apache组织中的一个十分成功的开源项目,Maven主要服务于基于Java平台的项目构建、依赖管理和项目 信息管理。Maven是一个异常强大的构建(build)工具,能够帮助我们自动化构建过程,从清理、编译、测试到生成报告,再到打包和部署,对于 Maven而言只需要输入简单的命令即可完成(更多介绍)。

安装

1
sudo apt-get install maven
注意安装maven3.0以上的版本,否则之后会出现问题,笔者安装的是maven3.0.5版本。如果不能通过以上方式安装,则需要自己去maven官网上下载安装,具体可参考这篇教程

检查

1
mvn -version
如果出现以下提示,安装成功

1
2
3
4
5
6
Apache Maven 3.0.5
Maven home: /usr/share/maven
Java version: 1.7.0_67, vendor: Oracle Corporation
Java home: /usr/lib/jvm/jdk1.7.0/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "3.13.0-34-generic", arch: "amd64", family: "unix"
4.1.3 Protobuf的安装

简介:Protobuf,即protocolbuffer,是google定义的一种数据交换格式,独立于语言和平台,目前google官方提供了三种语言(java, c++, python)的实现。相对于xml,protocol buffer 的解析速度快得多,这归功于它是一种二进制的格式(代价是牺牲可读性),适合于海量数据的交换、传输和存储(更多介绍)。

建议直接搜索“probuf-2.5.0.tar.gz”,然后下载,给出笔者的下载地址

然后解压到自己的用户目录(如/home/jerry)下

1
tar zxvf protobuf-2.5.0.tar.gz -C /home/jerry
进入protobuf2.5.0目录下

1
2
3
4
5
6
7
8
cd /usr/jerry/protobuf-2.5.0

# 执行以下命令
sudo ./configure
sudo make
sudo make check
sudo make install
sudo ldconfig
执行上述命令很有可能会出错,错误原因基本都是缺乏依赖软件/编译环境(如g++),一键式解决方法如下:

1
2
# 安装基本的开发包
sudo apt-get install build-essential
然后重新执行上述命令

验证

1
protoc --version
如果出现以下提示,安装成功

1
libprotoc 2.5.0
4.1.4 Openssl库安装

1
sudo apt-get install libssl-dev
4.1.5 CMake安装

1
sudo apt-get install cmake
4.1.6 ant安装

给出笔者的下载地址,如果失效可自行搜索”apache-ant-1.9.4-bin.tar.gz”下载

解压

1
tar zxvf apache-ant-1.9.4-bin.tar.gz
配置环境变量

1
sudo vim /etc/profile
添加以下部分

1
2
export ANT_HOME = /home/jerry/apache-ant-1.9.4
export PATH = $PATH:$ANT_HOME/bin
生效

1
source /etc/profile
检验

1
ant -version
如果出现以下提示,安装成功

1
Apache Ant(TM) version 1.9.4 compiled on April 29 2014
4.2 编译hadoop

如果完成了4.1部分的安装,那么就可以开始编译hadoop了。笔者的hadoop版本为最新的2.5.0,其他的2.X版本也可以参考。

4.2.1 下载hadoop2.5.0

进入hadoop官网的下载地址,注意选择下载的版本

1
hadoop-2.5.0-src.tar.gz 07-Aug-2014 01:51 15M
解压

1
tar zxvf hadoop-2.5.0-src.tar.gz
进入src文件夹

1
cd hadoop-2.5.0-src
执行

1
2
# 编译
mvn package -Pdist,native -DskipTests -Dtar
如果顺利的话,只需要坐等20分钟左右即可编译成功

如果有输出的最后以下提示,编译成功

1
2
3
4
5
6
------------------------------------------------------------------------------------------------
BUILD SUCCESS
------------------------------------------------------------------------------------------------
Total time: ******
Finished at: ******
Final Memory: ****
而对应的在~/hadoop-2.5.0-src/hadoop-dist/target/目录下将生成编译好的文件和压缩包

1
2
hadoop-2.5.0
hadoop-2.5.0.tar.gz
如果编译失败,找出输出信息中的第一条ERROR提示,搜索对应的解决方法。(笔者会在另外一篇文章中贴出自己所遇到的错误及解决方法)

下一篇将介绍hadoop2.5.0的单节点的安装及测试。

转载请注明本文的链接地址: http://jeyzhang.com/154/,谢谢: )
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: