压缩配置
- hadoop 本身并不支持 lzo 压缩,故需要使用 twitter 提供的 hadoop-lzo 开源组件。 hadoop-lzo 需依赖 hadoop 和 lzo 进行编译。
- 将编译好后的 hadoop-lzo-0.4.20.jar 放入 hadoop-2.7.2/share/hadoop/common/
[root@hadoop102 common]
[root@hadoop102 common]
- 同步 hadoop-lzo-0.4.20.jar 到 hadoop103、hadoop104
[root@hadoop102 common]
- core-site.xml 增加配置支持 LZO 压缩
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<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>
- 同步 core-site.xml 到 hadoop103、hadoop104
[root@hadoop102 hadoop]
- 启动及查看集群
[root@hadoop102 hadoop-2.7.2]
[root@hadoop103 hadoop-2.7.2]
创建索引
- 创建 LZO 文件的索引,LZO 压缩文件的可切片特性依赖于其索引,故我们需要手动为 LZO 压缩文件创建索引。若无索引,则 LZO 文件的切片只有一个。
hadoop jar /path/to/your/hadoop-lzo.jar com.hadoop.compression.lzo.DistributedLzoIndexer big_file.lzo