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

来源:互联网 发布:哪件商品能在淘宝发布 编辑:程序博客网 时间:2024/06/05 11:53

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/,谢谢: )

 

0 0
原创粉丝点击