未加星标

Hadoop源码编译

字体大小 | |
[数据库(综合) 所属分类 数据库(综合) | 发布者 店小二04 | 时间 2017 | 作者 红领巾 ] 0人收藏点击收藏

如果大家直接在官方网站下载Hadoop 安装包,然后安装启动Hadoop集群,会报本地库找不到的警告,但是不影响集群的运行,警告如下所示:

WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

上面这个警告就是因为缺少Hadoop本地库,我们可以下载Hadoop对应版本的源码进行编译,生成我们需要的本地库,然后替换集群上面的本地库就可以了。

1.1 Hadoop 源码编译并安装Snappy压缩

特别提醒

1、保证你的jdk的版本是1.7而不是1.8

2、在编译hadoop源码之前,替换掉./maven/conf目录下的setting.xml

点击这里下载settings文件

我们通过以下几个步骤即可完成Hadoop源码的编译以及Snappy安装。

1.1.1 首先检查并安装gcc-c++

在root用户下在线下载:

yum -y install gcc-c++


Hadoop源码编译
Hadoop源码编译

1.1.2 安装maven

下载并解压apache-maven-3.3.3-bin.tar.gz

tar -zxvf apache-maven-3.3.3-bin.tar.gz

配置环境变量

vi /etc/profile

MAVEN_HOME=/usr/java/apache-maven-3.3.3

PATH=$MAVEN_HOME/bin: $PATH

Export MAVEN_HOME

文件生效

source /etc/profile

查看是否安装成功

mvn v


Hadoop源码编译

1.1.3 安装ProtocolBuffer

下载并解压protobuf-2.5.0.tar.gz

tar -zxvf protobuf-2.5.0.tar.gz

mv protobuf-2.5.0 protobuf

cd protobuf

./configure --prefix=/usr/local/protobuf

make

make check

make install

配置环境变量

vi /etc/profile

PROTOBUF_HOME=/usr/local/protobuf

PATH=$PROTOBUF_HOME/bin:$PATH

export PROTOBUF_HOME

使文件生效

source /etc/profile

查看是否安装成功

protoc --version


Hadoop源码编译

1.1.4 安装cmake

yum -y install cmake

1.1.5 zlib安装

yum -y install zlib

1.1.6 openssl devel

yum -y install openssl-devel

1.1.7 安装snappy

下载并解压snappy-1.1.3.tar.gz

tar -zxvf snappy-1.1.3.tar.gz

mv snappy-1.1.3 snappy

cd snappy

./configure

make

make install

1.1.8 Hadoop源码编译

下载并解压hadoop-2.6.0-src.tar.gz,然后进入hadoop-2.6.0-src目录编码Hadoop源码和Snappy压缩。当然,大家选择其它版本的Hadoop也是可以的。

///usr/local/lib是Snappy默认安装目录

mvn package -Pdist,native -DskipTests -Dtar -Dbundle.snappy -Dsnappy.lib=/usr/local/lib


Hadoop源码编译

编译成功之后,在hadoop-2.6.0-src/hadoop-dist/target目录找到编译后的hadoop 安装包,然后安装启动Hadoop集群,会报本地库找不到的警告,解压编译后的hadoop 安装包,替换hadoop 集群所有节点native本地库即可。

我们进入Hadoop 集群任意一个节点,切换到native目录下(./hadoop/lib/native),检查本地库是否安装成功。


Hadoop源码编译

到这里,Hadoop 源码编译完毕,下面我们来配置Snappy压缩。

1.2 Hadoop 配置Snappy压缩

Hadoop 配置Snappy压缩比较简单,主要分为以下几步:

1.2.1 配置hadoop-env.sh

修改hadoop-env.sh配置文件,增加以下配置

export HADOOP_HOME=/usr/java/hadoop 安装目录

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HADOOP_HOME/lib/native

1.2.2 配置core-site.xml

修改core-site.xml配置文件,增加以下配置

io.compression.codecsorg.apache.hadoop.io.compress.SnappyCodec

1.1.1 配置mapred-site.xml

如果MR中间结果需要使用snappy压缩,修改mapred-site.xml

mapreduce.map.output.compresstruemapreduce.map.output.compress.codecorg.apache.hadoop.io.compress.SnappyCodec


Hadoop源码编译

本文数据库(综合)相关术语:系统安全软件

主题: HadoopUFRY变量
分页:12
转载请注明
本文标题:Hadoop源码编译
本站链接:http://www.codesec.net/view/522614.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 数据库(综合) | 评论(0) | 阅读(58)