1 查卡我的hadoop支撑的压缩方式
hdfs 配置控制台收索: io.compression.codecs
可见没有LzopCodec方式
2 LzoCodec和LzopCodec区别
LzoCodec和LzopCodec区别两种压缩编码LzoCodec和LzopCodec区别:1. LzoCodec比LzopCodec更快, LzopCodec为了兼容LZOP程序添加了如 bytes signature, header等信息。2. LzoCodec作为Reduce输出,结果文件扩展名为 ”.lzo_deflate” ,无法被lzop读取;使用LzopCodec作为Reduce输出,生成扩展名为 ”.lzo” 的文件,可被lzop读取。3. LzoCodec结果(.lzo_deflate文件) 不能由 lzo index job 的 "DistributedLzoIndexer" 创建index。4. “.lzo_deflate” 文件不能作为MapReduce输入。而这些 “.LZO” 文件都支持。综上所述,map输出的中间结果使用LzoCodec,reduce输出使用 LzopCodec。另外:org.apache.hadoop.io.compress.LzoCodec和com.hadoop.compression.lzo.LzoCodec功能一样,都是源码包中带的,生成的都是 lzo_deflate 文件。
3 在线Parcel安装Lzo
3.1 下载地址:修改6.x.x为对应版本
CDH6:https://archive.cloudera.com/gplextras6/6.x.x/parcels/
我的版本是 CDH6.3.1 所以我的下载地址就是
https://archive.cloudera.com/gplextras6/6.3.1/parcels/
在CDH的 Parcel 配置中,“远程Parcel存储库URL”,点击 “+” 号,添加地址栏
返回Parcel列表 可能需要一段时间会看到 GPLEXTRAS 因为国外的网站可能我们的网络连接比较延迟
3.2 下载
点击:Download
分配
激活
激活成功
3.3 为HDFS添加压缩编码解码器
hdfs 配置控制台收索: io.compression.codecs
点击 “+” 号添加:
com.hadoop.compression.lzo.LzoCodec
com.hadoop.compression.lzo.LzopCodec
3.4 YARN配置自动加载GPLEXTRAS下的包
① 找到自己刚才安装的GPLEXTRAS目录
/opt/cloudera/parcels/GPLEXTRAS/lib/hadoop/lib
②配yarn
收索:mapreduce.application.classpath
② 添加/opt/cloudera/parcels/GPLEXTRAS/lib/hadoop/lib/*
③ 更新配置重启服务
然后完成