Hadoop 安装snappy(编译源码)

4 篇文章 1 订阅
2 篇文章 0 订阅

首先,由于下载的hadoop一般都是编译好的,不支持snappy压缩,因此,我们需要下载未编译的hadoop进行编译,然后自己设置支持的压缩格式。以下开始详细配置:

安装之前 hadoop checknative -a

1.准备

###安装其中部分基础软件的命令:

yum -y install gcc gcc-c++ libtool cmake maven zlib-devel

下载maven ,snappy1.1.1,protobuf-2.5.0.tar.gz,以及Hadoop未编译的源码。

一.首先去官网下载未编译的hadoop版本(hadoop-src.*的)

https://archive.apache.org/dist/hadoop/common/hadoop-2.5.0/

默认的编译好的文件不支持snappy压缩,因此我们需要自己重新编译

下载snappy

 https://src.fedoraproject.org/repo/pkgs/snappy/snappy-1.1.1.tar.gz/8887e3b7253b22a31f5486bca3cbc1c2/

下载protobuf-2.5.0  

https://github.com/google/protobuf/releases/tag/v2.5.0 

下载maven3.6.2

http://maven.apache.org/download.cgi

二.首先安装maven ,解压后需要进行环境变量的配置

  tar -zxvf maven-3.6.2.tar.gz

 vi /etc/profile

检测是否安装成功

mvn -version

然后需要配置一下maven/conf/setting.xml文件  (设置路径,设不设置都可以)

修改下载源(注意不要在注释内修改了)

  <mirror>
    <id>nexus-aliyun</id>
    <mirrorOf>central</mirrorOf>
    <name>Nexus aliyun</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

三.安装snappy

 先解压安装包,然后进入snappy目录下

./configure

make

make install   (注意,如果不是在root用户下需要加上sudo权限,否则会报错,我研究了很久呢)

如果没有出现ERROR就说明已经安装成功了。。。。

 

 

四。安装protobuf,使用以下命令

# tar -zxvf protobuf-2.5.0.tar.gz
# cd protobuf-2.5.0
# ./configure
# make

#make install

# protoc --version
libprotoc 2.5.0

 

 

 

五.编译源文件,下载好的源文件是hadoop-2.5.0-src.tar.gz

 

第一次编译使用的命令是:

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

第一次编译时候报错  Hadoop Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:2.10.4:jar

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-enforcer-plugin:1.3.1:enforce (default) on project hadoop-main: Some Enforcer rules have failed. Look above for specific messages explaining why the rule failed. -> [Help 1]然后提示编译文件的某一个java代码报错,但是我修改之后,依然会出现其他的错误。查资料之后

使用下面的编译命令

解压之后,进入hadoop-2.5.0-src/

然后使用如下编译命令:

mvn clean install  -DskipTests  -Dmaven.javadoc.skip=true -Dmaven.javadoc.skip=true  -Dbundle.snappy

 

(编译时间比较长,编译完成之后,默认文件在/usr/local/lib目录下)

配置 core-site.xml

添加如下命令:

<property>

    <name>mapreduce.map.output.compress.codec</name>

    <value>org.apache.hadoop.io.compress.SnappyCodec</value>

</property>

 

拷贝到hadoop目录下的lib/native/   目录下

 

查看是否安装成功

hadoop checknative -a

 

 

 

 

 


 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值