在CDH中配置lzo压缩

二次信任 提交于 2020-02-13 17:23:26

一、各种压缩格式性能对比

压缩能够减少存储磁盘空间,降低网络IO和磁盘IO,加快数据在磁盘和网络中的传输速度,从而提高系统的处理速度。
虽然由以上的好处,但是由于使用数据时,需要先将数据解压,加重了CPU负荷。根据我们的实际工作场景,我们要选择合适的压缩格式。

常见的压缩格式如下:
在这里插入图片描述下面是一份源数据1.4G的文件,各类压缩格式的比率和时间对比
数据压缩后大小:
在这里插入图片描述压缩和解压时间:
在这里插入图片描述
从上面对比可以看出:
在压缩数据比上:
Snappy、LZ4、LZO可以压缩到50%左右
GZIP、BZIP2可以压缩到30%左右

在压缩和解压时间上:
Snappy、LZ4、LZO 的压缩时间非常接近,范围6-8秒内;Snappy的解压时间是最高的,是压缩时间的3倍,其次是LZO,LZ4解压时间最低
GZIP、BZIP2 的压缩和解压时间都非常高。

总结一句话就是:压缩比率高的,压缩和解压时间花费就比较长。

那么我们如何选择合适的压缩格式呢?

Snappy:压缩速度快;支持hadoop native库
缺点:不支持split;压缩比低;hadoop本身不支持,需要安装;linux系统下没有对应的命令d.

LZO:压缩/解压速度也比较快,合理的压缩率;支持split,是hadoop中最流行的压缩格式;
支持hadoop native库;需要在linux系统下自行安装lzop命令,使用方便
缺点: 压缩率比gzip要低;
lzo虽然支持split,但需要对lzo文件建索引,否则hadoop也是会把lzo文件看成一个普通文件

GZIP:压缩比较高;hadoop本身支持,在应用中处理gzip格式的文件就和直接处理文本一样;
有hadoop native库;大部分linux系统都自带gzip命令,使用方便
缺点: 不支持split

BZIP2 :支持split;具有很高的压缩率,比gzip压缩率都高;
hadoop本身支持,但不支持native;在linux系统下自带bzip2命令,使用方便
缺点:压缩/解压速度慢;不支持native

参考原文链接:https://blog.csdn.net/greenplum_xiaofan/article/details/99272907

二、lzo在cloudera-manager配置步骤

1.下载lzo jar
http://archive.cloudera.com/gplextras5/parcels/
国内访问不稳定,碰到打不开的情况多刷新几次试试

版本选择

CDH集群 GPL Extras 版本
5.x.y/ GPL Extras 5.x.y/

例如:我的CDH集群版本是: CDH-5.16.2-1.cdh5.16.2.p0.8-el7.parcel 对应选择的GPL Extras 版本 GPLEXTRAS-5.16.2-1.cdh5.16.2.p0.8-el7.parcel,其中el6、el7是操作系统的版本,需要根据自己的系统进行选择

准备安装文件
GPLEXTRAS-5.16.2-1.cdh5.16.2.p0.8-el7.parcel
CDH-5.16.2-1.cdh5.16.2.p0.8-el7.parcel.sha1 (使用的时候重命名成.sha)
manifest.json

2.将安装文件上传至cm共享目录
因为使用的是parcels安装,首先将下载好的文件放到cloudera-manager共享的目录中,此处为:
在这里插入图片描述

注:这里要根据自己实际安装路径修改

3.安装激活lzo服务
进入cm管理界面,选择主机—>Parcel,点击检查新Parcel,如果配置正确将会出现 GPLEXTRAS 对应版本为 5.16.2-1.cdh5.16.2.p0.8。
点击分配,耐心等待几分钟后,再点击激活,出现如下图状态,表示 lzo服务安装工作已经完成。
在这里插入图片描述

4.配置hadoop支持lzo
1)修改HDFS配置
在io.compression.codecs属性值中追加如下值:
com.hadoop.compression.lzo.LzoCodec
com.hadoop.compression.lzo.LzopCodec
在这里插入图片描述

2)修改YARN配置
将 mapreduce.application.classpath属性添加一项:/opt/cloudera/parcels/GPLEXTRAS/lib/hadoop/lib/*
在这里插入图片描述

3)修改MR应用程序环境
修改mapreduce.admin.user.env 追加 :/opt/cloudera/parcels/GPLEXTRAS/lib/hadoop/lib/native
在这里插入图片描述

重启集群使配置生效

4.配置hive支持lzo
修改hive辅助jar目录,增加一项:/opt/cloudera/parcels/GPLEXTRAS/lib/hadoop/lib/
在这里插入图片描述

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!