Hadoop LZO的安装与配置

标签: hadoop lzo | 发表时间:2013-10-18 05:33 | 作者:zuochanxiaoheshang
出处:http://blog.csdn.net

Hadoop支持好几种压缩算法,包括:

Bzip2

Gzip

DEFLATE

Hadoop提供这些算法的Java实现,所以可以很方便的通过FileSystem API来进行文件的压缩和解压缩。这些压缩算法都有一个缺陷,那就是文件不能被分片(splittable)。这就意味着采用这些算法进行压缩的文件需要读取整个文件才能将文件解压缩。这对MapReduce会产生致命的影响,因为这意味着一个压缩文件必须由一个map来处理。这也正是LZO优越之处,LZO压缩的文件是可分片的(这要感谢Hadoop社区的不懈努力)。

LZO的安装与配置步骤如下:

1.从https://github.com/kevinweil/hadoop-lzo下载Hadoop-LZO(注意Hadoop-LZO有两个版本,分别由Cloudera和Twitter维护),一般建议采用Twitter版本。

2.安装lzo和lzo-devel包。在联网情况下可以非常方便的进行安装。

在Red Hat下通过下面的命令:


#yum install liblzo-devel


在Ubuntu下通过下面的命令:


#apt-get install liblzo2-devel


如果是在断网的情况下可以到网站http://www.oberhumer.com/opensource/lzo/下载lzo源码,下载完成后通过下面的命令完成LZO的安装:


#tar -zxf lzo-2.06.tar.gz

#cd lzo-2.06

#./configure --enable-shared 

#make

#make install


安装完成后要确保.so文件放在/usr/lib和/usr/lib64文件夹下面(/usr/lib/liblzo2.so /usr/lib64/liblzo2.so)。LZO需要在集群中的每一个节点进行安装。

安装完成后最好把LZOP也安装上,以便在本地使用,LZOP的下载地址: http://www.lzop.org/。

3.编译和安装Hadoop-LZO

首先需要下载和安装apache-ant,这里不再做详细的介绍。然后通过下面的命令进行编译:

32位机器


#export CFLAGS=-m32

#export CXXFLAGS=-m32

#ant compile-native


64位机器


#export CFLAGS=-m64

#export CXXFLAGS=-m64

#ant compile-native tar


在编译过程中需要ivy依赖解析,可以联网活着将依赖包拷到机器上。

4.将编译好的HADOOP-LZO拷贝到Hadoop安装目录下相应的文件夹。在Hadoop-LZO的主目录下执行下面的相关命令:


#cp build/hadoop-lzo*.jar $HADOOP_HOME/lib/

#tar -cBf - -C build/hadoop-lzo-0.4.15/lib/native/ . | tar -xBvf - -C $HADOOP_HOME/lib/native


5.配置Hadoop,在core-site.xml中添加如下内容:

<property>

<name>io.compression.codecs</name>

<value>org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.BZip2Codec,com.hadoop.compression.lzo.LzoCodec,com.hadoop.compression.lzo.LzopCodec

</value>

</property>

<property>

<name>io.compression.codec.lzo.class</name>

<value>com.hadoop.compression.lzo.LzoCodec</value>

</property>

6.测试Hadoop-Lzo是否安装成功

首先在本地压缩一个文件并将该文件put到HDFS:


#lzop 20120229

#hadoop fs -put 20120229.lzo /testdir/


对测试文件进行索引:


#hadoop jar hadoop-lzo-0.4.15.jar com.hadoop.compression.lzo.DistributedLzoIndexer  /testdir/20120229.lzo


查看集群上是否有20120229.lzo.index:


#hadoop fs -ls /testdir/


如果索引文件存在则证明安装成功。

作者:zuochanxiaoheshang 发表于2013-10-17 21:33:02 原文链接
阅读:87 评论:0 查看评论

相关 [hadoop lzo] 推荐:

[原]hadoop再次配置lzo

- - 分布式应用与服务器架构专栏
最近又重新进行了一次配置lzo压缩,步骤如下:. 注意:确定gcc版本,之前网上有人说不能使用超过4.4版本的gcc,我在安装过程中使用的gcc4.1.2的版本,也是正常的. 根据此操作系统,需要安装关联库列表:. lzo-2.06-1.el5.rf.x86_64.rpm(根据具体操作系统信息,下载对应的rpm包).

Hadoop LZO的安装与配置

- - CSDN博客云计算推荐文章
Hadoop支持好几种压缩算法,包括:. Hadoop提供这些算法的Java实现,所以可以很方便的通过FileSystem API来进行文件的压缩和解压缩. 这些压缩算法都有一个缺陷,那就是文件不能被分片(splittable). 这就意味着采用这些算法进行压缩的文件需要读取整个文件才能将文件解压缩.

GZIP、LZO、Zippy/Snappy压缩算法应用场景小结 - 大圆那些事 - 博客园

- -
大圆那些事| 文章可以转载,请以超链接形式标明文章原始出处和作者信息. GZIP、LZO、Zippy/Snappy是常用的几种压缩算法,各自有其特点,因此适用的应用场景也不尽相同. 这里结合相关工程实践的情况,做一次小结. 以下是Google几年前发布的一组测试数据(数据有些老了,有人近期做过测试的话希望能共享出来):.

Hadoop Streaming 编程

- - 学着站在巨人的肩膀上
Hadoop Streaming是Hadoop提供的一个编程工具,它允许用户使用任何可执行文件或者脚本文件作为Mapper和Reducer,例如:. 采用shell脚本语言中的一些命令作为mapper和reducer(cat作为mapper,wc作为reducer). 本文安排如下,第二节介绍Hadoop Streaming的原理,第三节介绍Hadoop Streaming的使用方法,第四节介绍Hadoop Streaming的程序编写方法,在这一节中,用C++、C、shell脚本 和python实现了WordCount作业,第五节总结了常见的问题.

Hadoop使用(一)

- Pei - 博客园-首页原创精华区
Hadoop使用主/从(Master/Slave)架构,主要角色有NameNode,DataNode,secondary NameNode,JobTracker,TaskTracker组成. 其中NameNode,secondary NameNode,JobTracker运行在Master节点上,DataNode和TaskTracker运行在Slave节点上.

Hadoop MapReduce技巧

- - 简单文本
我在使用Hadoop编写MapReduce程序时,遇到了一些问题,通过在Google上查询资料,并结合自己对Hadoop的理解,逐一解决了这些问题. Hadoop对MapReduce中Key与Value的类型是有要求的,简单说来,这些类型必须支持Hadoop的序列化. 为了提高序列化的性能,Hadoop还为Java中常见的基本类型提供了相应地支持序列化的类型,如IntWritable,LongWritable,并为String类型提供了Text类型.

Hadoop TaskScheduler浅析

- - kouu&#39;s home
TaskScheduler,顾名思义,就是MapReduce中的任务调度器. 在MapReduce中,JobTracker接收JobClient提交的Job,将它们按InputFormat的划分以及其他相关配置,生成若干个Map和Reduce任务. 然后,当一个TaskTracker通过心跳告知JobTracker自己还有空闲的任务Slot时,JobTracker就会向其分派任务.

HADOOP安装

- - OracleDBA Blog---三少个人自留地
最近有时间看看hadoop的一些东西,而且在测试的环境上做了一些搭建的工作. 首先,安装前需要做一些准备工作. 使用一台pcserver作为测试服务器,同时使用Oracle VM VirtualBox来作为虚拟机的服务器. 新建了三个虚拟机以后,安装linux,我安装的linux的版本是redhat linux 5.4 x64版本.

Hadoop Corona介绍

- - 董的博客
Dong | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及 版权声明. 网址: http://dongxicheng.org/hadoop-corona/hadoop-corona/. Hadoop Corona是facebook开源的下一代MapReduce框架. 其基本设计动机和Apache的YARN一致,在此不再重复,读者可参考我的这篇文章 “下一代Apache Hadoop MapReduce框架的架构”.

Hadoop RPC机制

- - 企业架构 - ITeye博客
RPC(Remote Procedure Call Protocol)远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议. Hadoop底层的交互都是通过 rpc进行的. 例如:datanode和namenode 、tasktracker和jobtracker、secondary namenode和namenode之间的通信都是通过rpc实现的.