Hadoop分布式文件系统——LZO

Hadoop除了提供bzip2、gzip等压缩算法,还引入了LZO压缩,以解决传统算法压缩文件不可分割的问题。LZO允许数据分片,从而影响mapper的数量。文章介绍了安装lzo和lzo-devel包,编译hadoop-lzo源码,配置Hadoop环境以及测试使用的步骤。
摘要由CSDN通过智能技术生成

    Hadoop提供了bzip2、gzip、DEFALTE等多种传统压缩算法,亦实现了这些算法的JAVA实现。因为,既可以用FileSystem API对文件进行压缩和解压,也可以通过MapReduce输入输出格式化来实现。这些算法的缺点是:压缩格式不可分割,即不可分片!
    然而,Hadoop的一个作业流程中,是由输入文件字节数与数据块的字节数(默认数据块是64MB)决定mapper启动的数量。亦即每个mapper都将接收到需要处理的数据块,称之为数据分片。于是,LZO压缩算法随之产生。
    操作步骤:
        1、安装lzo和lzo-devel包。

Red Hat Linux:# yum install liblzo-devel
Ubuntu:apt-get install liblzo2-devel

        2、进入hadoop-lzo源码解压的路径编译:

# cd kevinweil-hadoop-lzo-6bb1b7f/
# export JAVA_HOME=/path/to/jdk 
# ./setup.sh
# BUILD SUCCESSFUL ----编译成功

        3、复制编译好的JAR文件到集群上的hadoop类库目录下,以及core-site.xml、hadoop-env.sh的配置:

# cp build/hadoop-lzo*.jar /path/to/hadoop/lib/
# tar -cBf - -C build/hadoop-lzo-0.4.15/lib/native/ . | tar -xBvf -C /path/to/hadoop/lib/native

-------start 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>
-------end core-site.xml--------
-------start hadoop-env.sh--------
export HADOOP_CLASSPATH=/path/to/hadoop/lib/hadoop-lzo-X.X.XX.jar
export JAVA_LIBRARY_PATH=/path/to/hadoop/lib/native/hadoop-lzo-native-lib:/path/to/hadoop/lib/native/other-native-libs
-------end hadoop-env.sh--------

        4、测试并试用:

# lzop 88_99.txt ###压缩数据
# hadoop fs -put 88_99.txt.lzo /tt/88_99.txt.lzo ###上传
# hadoop java /usr/lib/hadoop/lib/hadoop-lzo-0.4.15.jar com.hadoop.compression.lzo.DistributedLzoIndexer /tt/88_99.txt.lzo ###创建索引
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值