阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

在Ubuntu X64上编译安装Hadoop

113次阅读
没有评论

共计 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 来分钟。如果一切正常,那么运行完毕后,我们会看到成功编译的通知:

在 Ubuntu X64 上编译安装 Hadoop

我是在虚拟机中,花了 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

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计4021字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中