linux 编译hadoop,Ubuntu18.04系统中编译hadoop2.7.6支持snappy

使用的是Ubuntu18.04版本,编译hadoop2.7.6支持snappy。请按下面所说的版本进行,其它版本不一定能够成功。

下载Apache Hadoop

官网下载hadoop2.7.6版本,目前最新版本是hadoop3.0.3。

解压

abb4ac02f5600e1214ca4d9737e2a324.png

#读取 BUILDING.txt文件 上图中用红色框选中的文件,是官方的编译步走:

Build instructions for Hadoop

Requirements:

* Unix System

* JDK 1.7+

* Maven 3.0 or later

* Findbugs 1.3.9 (if running findbugs)

* ProtocolBuffer 2.5.0

* CMake 2.6 or newer (if compiling native code), must be 3.0 or newer on Mac

* Zlib devel (if compiling native code)

* openssl devel ( if compiling native hadoop-pipes and to get the best HDFS encryption performance )

* Linux FUSE (Filesystem in Userspace) version 2.6 or above ( if compiling fuse_dfs )

* Internet connection for first build (to fetch all Maven and Hadoop dependencies)

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

安装依赖

本地依赖

sudo apt-get -y install build-essential autoconf automake libtool cmake zlib1g-dev pkg-config libssl-dev snappy libsnappy-dev bzip2 libbz2-dev libjansson-dev fuse libfuse-dev

注意 libssl-dev安装换成 libssl1.0-dev版本。 我之前就是默认安装,在编译OpenSSL功能的时候一直卡主编译不通过。具体错误大致形式如下:

496fda11e7c101b2c4ffb1622215461f.png

a9888f51cddda8dfa9c7fe12b692684d.png

安装protobuf

1.下载

1].googletest下载,protobuf编译需要依赖它,下载地址,最好选择1.7.0版本,1.7.0版本后目录结构有变化。

2].protobuf下载 官方文档中说可以通过下面命令安装,但是我发现libprotobuf-dev没有,只好手动安装

$ sudo apt-get -y install libprotobuf-dev protobuf-compiler

protobuf下载地址,最好选择2.5.0版本与官方一致, 解压后,把前面下载的googletest复制到protobuf的跟目录,并且重命名为gtest

44fcde47a075d9324edc8adcaf708107.png

2.编译

1].运行autogen.sh 生成configure

2]运行configure

3]make

4]sudo make install 验证protobuf是否安装成功

benny@benny-ubuntu:~/software/protobuf-2.5.0$ protoc --version

libprotoc 2.5.0

可看到安装成功了。

安装snappy

2.编译安转和protobuf一样。configure、make、sudo make install 安装完成可以验证

85419a2874cf8c20575f499982f52c7f.png

编译hadoop 到现在,准备工作算是做完了。maven命令编译。

3.进入hadoop的根目录执行下面的maven命令

mvn clean package -DskipTests -Pdist,native -Dtar -Dsnappy.lib -Drequire.snappy -Dbundle.snappy -Drequire.openssl -Dbundle.openssl

4.编译完成后./hadoop-dist/target/ 目录下就是最终生成的文件了。

benny@benny-ubuntu:~/software/hadoop-2.7.6-src$ ll ./hadoop-dist/target/

487e1231023bc17de78141358af29c94.png

支持snappy的本地动态链接库位于./hadoop-dist/target/hadoop-2.7.6/lib/native/

benny@benny-ubuntu:~/software/hadoop-2.7.6-src$ ll ./hadoop-dist/target/hadoop-2.7.6/lib/native/*

8d7512b8b2ccc55040cd60d0470424b0.png

相关主题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值