共计 4021 个字符,预计需要花费 11 分钟才能阅读完成。
在之前的文章中介绍了如何直接在 Ubuntu 中安装 Hadoop。但是对于 64 位的 Ubuntu 来说,官方给出的 Hadoop 包是 32 位的,运行时会得到警告:
WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable
所以我们最好是自己在 Ubuntu 中编译 Hadoop。先介绍一下我的环境是 Ubuntu 16.1 X64 Server 版,当前最新的 Hadoop 是 2.7.3。我们可以先下载源代码,在其中有 BUILDING.txt,指导我们如何在 Ubuntu 中编译 Hadoop:
Installing required packages for clean install of Ubuntu 14.04 LTS Desktop:
* Oracle JDK 1.7 (preferred)
$ sudo apt-get purge openjdk*
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-java7-installer
* Maven
$ sudo apt-get -y install maven
* Native libraries
$ sudo apt-get -y install build-essential autoconf automake libtool cmake zlib1g-dev pkg-config libssl-dev
* ProtocolBuffer 2.5.0 (required)
$ sudo apt-get -y install libprotobuf-dev protobuf-compiler
Optional packages:
* Snappy compression
$ sudo apt-get install snappy libsnappy-dev
* Bzip2
$ sudo apt-get install bzip2 libbz2-dev
* Jansson (C Library for JSON)
$ sudo apt-get install libjansson-dev
* Linux FUSE
$ sudo apt-get install fuse libfuse-dev
我用的 Linux16.1 X64 Server 版本,也是大同小异,接下来是编译 Hadoop 的过程:
1. 更新 apt 源
首先需要更新我们的 apt 源,因为如果是国外源的话,接下来安装会很慢。使用命令
sudo vi /etc/apt/sources.list
打开这个 apt 源列表,如果其中看到是 http://us.xxxxxx 之类的,那么就是外国的,如果看到是 http://cn.xxxxx 之类的,那么就不用换的。我的是美国的源,所以需要做一下批量的替换。在命令模式下,输入:
:%s/us./cn./g
就可以把所有的 us. 改为 cn. 了。然后输入:wq 即可保存退出。
sudo apt-get update
更新一下源。
2. 安装必备软件
2.1 安装 SSH
sudo apt-get install ssh
安装完毕后我们就可以用 putty 或者 SecureCRT 连接到 Ubuntu 了。
2.2 安装 JDK
sudo apt-get install default-jdk
安装后可以运行 java –version 看安装的版本
2.3 安装 Maven
sudo apt-get install maven
这是编译 Hadoop 的工具,安装完成后,可以运行 mvn -–version 看安装的版本
2.4 安装依赖库
sudo apt-get install g++ autoconf automake libtool cmake zlib1g-dev pkg-config libssl-dev
2.5 安装 ProtocolBuffer 2.5.0
注意,我要编译的是 Hadoop2.7.3,必须安装的 ProtocolBuffer 是 2.5 这个版本,如果不是的话,接下来会编译失败:
protoc version is 'libprotoc 3.0.0, expected version is'2.5.0'
如果我们运行文档中的:
sudo apt-get -y install libprotobuf-dev protobuf-compiler
protoc –version 会告诉我们安装的是 3.0 版本,这是不对的。我们需要的是 2.5 版。怎么办呢?只有去 GitHub 找到 2.5 版,然后重新编译安装。过程如下:
wget https://github.com/google/protobuf/releases/download/v2.5.0/protobuf-2.5.0.tar.gz
tar -xzf protobuf-2.5.0.tar.gz
cd protobuf-2.5.0/
./autogen.sh
./configure
make
make install
现在我们重新运行 protoc –version 会看到版本是 2.5 了。
2.6 更新 Maven 镜像
由于 Maven 默认连接的是国外的服务器,会很慢,所以我们需要更新 Maven 源为国内的服务器。推荐还有阿里云的 Maven 源:http://maven.aliyun.com/。
具体做法是:
cd ~/.m2 (如果没有这个文件夹,那么就在~ 目录 mkdir .m2 创建这个文件夹)
vi settings.xml
然后输入以下的内容:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<mirrors>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
</settings>
3. 编译 Hadoop
首先我们下载最新的 Hadoop 源代码,访问官网 http://hadoop.apache.org/releases.html,可以看到最新的是 2.7.3,所以我们点击 2.7.3 的 source,会给我们一个比较快的下载地址。
wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.7.3/hadoop-2.7.3-src.tar.gz
下载完毕后解压:
tar -zxvf hadoop-2.7.3-src.tar.gz
cd hadoop-2.7.3-src
最后,就是用 Maven 编译 Hadoop:
mvn package -Pdist,native -DskipTests –Dtar
这是一个比较漫长的过程,可能要等 10~20 来分钟。如果一切正常,那么运行完毕后,我们会看到成功编译的通知:
我是在虚拟机中,花了 23 分钟,我们的 Hadoop X64 版本就编译出来了。
编译好的 Hadoop 是在:
hadoop-dist/target/ 目录下,hadoop-2.7.3.tar.gz 文件便是。
我们可以把这个包下载到本地,或者传输到其他服务器,接下来就是用这个包安装 Hadoop,具体安装配置过程参见我这篇文章。
下面关于 Hadoop 的文章您也可能喜欢,不妨看看:
Ubuntu14.04 下 Hadoop2.4.1 单机 / 伪分布式安装配置教程 http://www.linuxidc.com/Linux/2015-02/113487.htm
CentOS 安装和配置 Hadoop2.2.0 http://www.linuxidc.com/Linux/2014-01/94685.htm
CentOS 6.3 下 Hadoop 伪分布式平台搭建 http://www.linuxidc.com/Linux/2016-11/136789.htm
Ubuntu 14.04 LTS 下安装 Hadoop 1.2.1(伪分布模式)http://www.linuxidc.com/Linux/2016-09/135406.htm
Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm
实战 CentOS 系统部署 Hadoop 集群服务 http://www.linuxidc.com/Linux/2016-11/137246.htm
单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm
Hadoop 2.6.0 HA 高可用集群配置详解 http://www.linuxidc.com/Linux/2016-08/134180.htm
Spark 1.5、Hadoop 2.7 集群环境搭建 http://www.linuxidc.com/Linux/2016-09/135067.htm
更多 Hadoop 相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-12/138568.htm