LZO压缩配置及注意事项

一、由于 Hadoop 本身并不支持 LZO 压缩,所以需要使用 twitter 的 hadoop-lzo 开源组件。

1.hadoop-lzo 需要依赖 hadoop 和 lzo 进行编译,编译步骤请参考:

      https://blog.csdn.net/S_Alics/article/details/108513408

2.将编译好的 hadoop-lzo 的 jar 包放入 hadoop/share/hadoop/common(放在自己真实的路径的common文件夹下)

3.配置 core-site.xml

<configuration>
    <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,
            org.apache.hadoop.io.compress.SnappyCodec,
            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>
</configuration>

4.将配置好的 core-site.xml 和 hadoop-lzo jar 同步到其他节点: xsync

       配置好以上步骤之后,并不能真正的激发 LZO 支持切片的功能,还需要手动为 LZO 压缩文件创建索引,若无索引,则 LZO 的切片只有一个。

二、创建 LZO 索引

[lpy@hadoop102 module]$ 
hadoop jar /opt/module/hadoop-2.7.2/share/hadoop/common/hadoop-lzo-0.4.20.jar
com.hadoop.compression.lzo.DistributedLzoIndexer /input/bigtable.lzo

猜你喜欢

转载自blog.csdn.net/S_Alics/article/details/108513063