Cloudera中配置hadoop_lzo

Hadoop经常用于处理大量的数据,如果期间的输出数据、中间数据能压缩存储,对系统的I/O性能会有提升。综合考虑压缩、解压速度、是否支持split,目前lzo是最好的选择。下面主要介绍在Cloudera中如何配置lzo。

手工编译配置

手工对lzo进行编译和对集群进行配置的,可以参考Hadoop 2.2.0安装和配置lzo

Cloudera中配置

添加parcel源,下载,分配,激活

  1. 在cloudera manager中修改远程 Parcel 存储库 URL,添加http://archive.cloudera.com/gplextras/parcels/latest
  2. 主机--Parceltab下,点击检查新parcel按钮,左侧筛选器会出现HADOOP_LZO,然后下载、分配、激活。分配是将此parcel分发到各个机器中,激活是在 cloudera/parcels/目录下建立对相关parcel的软链接。

HDFS配置

io.compression.codecs中添加com.hadoop.compression.lzo.LzoCodec, com.hadoop.compression.lzo.LzopCodec

yarn配置

  1. mapreduce.admin.user.env中添加hadoop_lzo链接: /opt/cloudera/parcels/HADOOP_LZO/lib/hadoop/lib/native
  2. yarn.app.mapreduce.am.admin.user.env中添加hadoop_lzo链接: /opt/cloudera/parcels/HADOOP_LZO/lib/hadoop/lib/native
  3. mapreduce.application.classpath中添加hadoop_lzo lib: /opt/cloudera/parcels/HADOOP_LZO/lib/hadoop/lib/*
  4. yarn.application.classpath中添加hadoop_lzo lib: /opt/cloudera/parcels/HADOOP_LZO/lib/hadoop/lib/*
    classpath配置
    env配置

oozie

oozie libpath中可能需要添加hadoop_lzo.jar。

其他模块

其他跑在yarn中的服务,只要跟随集群重启即可。

参考: