知识库 : UDH 开启Hadoop和Hbase集群的lzo压缩功能

Edit Document

目录

UDH 开启 Hadoop Hbase 集群的 lzo 压缩功能

1.               配置修改 hdfs 服务对应 core-site.xml

2.               配置修改 MapReduce2 服务对应 mapred-site.xml

3.               Hadoop lzo 功能测试

4.               Hbase lzo 功能测试

5.               总结

UDH 开启Hadoop和Hbase集群的lzo压缩功能

在UDH上配置使用Hadoop和Hbase集群的lzo压缩功能,不需要在集群各个节点上去安装Hadoop-lzo和lzo相关的包,因为UDH在管理安装Hadoop集群时默认已将Hadoop-lzo,lzo,lzo-devel等相关包安装在集群各个节点上,而只需要通过修改UDH web(http://manager-server:8080)上hdfs和mapreduce服务的lzo相关配置项,即能同步配置到UDH管理的所有机器节点。  

1.     配置修改 hdfs 服务对应 core-site.xml

  需要修改的属性 io.compression.codecs和io.compression.codec.lzo.class

<property>

<name>io.compression.codecs</name>

<value>org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.BZip2Codec,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>

                对应 UDH web界面上的修改如下:

io.compression.codecs属性的修改

C:\Users\Administrator\AppData\Local\YNote\data\xsl316999766@163.com\4928920cfb29466fbabd4eb1e6867391\clipboard.png

  io.compression.codec.lzo.class属性的添加分如下3步  

  a,hdfs服务配置界面下,

C:\Users\Administrator\AppData\Local\YNote\data\xsl316999766@163.com\977b12abb22d4ec2956c25430c389d95\clipboard.png

  b,单击添加属性

C:\Users\Administrator\AppData\Local\YNote\data\xsl316999766@163.com\12f7f11ebf8940b2873431ec7fa4df67\clipboard.png

                c,添加   io.compression.codec.lzo.class 属性,

C:\Users\Administrator\AppData\Local\YNote\data\xsl316999766@163.com\d8b10f22ba824a4c9b3cd448e2f727b2\clipboard.png

 

注意:lzo.class 的值为com.hadoop而不是org.hadoop ,如果在UDH上配置为org.hadoop在使用lzo压缩功能时会报找不到该类,  

保存以上修改并在UDH上重启HDFS服务。

2.     配置修改 MapReduce2 服务对应 mapred-site.xml

<property>

                  <name>mapred.compress.map.output</name>

                  <value>true</value>

</property>

<property>            

                  <name>mapred.map.output.compression.codec</name>              

                  <value>com.hadoop.compression.lzo.LzoCodec</value>            

</property>  

对应 UDH web界面上的修改如下,

C:\Users\Administrator\AppData\Local\YNote\data\xsl316999766@163.com\ba31bda3527f437d9f1ff1a588d75ab0\clipboard.png

a、添加mapred.compress.map.output 属性,

C:\Users\Administrator\AppData\Local\YNote\data\xsl316999766@163.com\2b51b09965b241f989bf18a47fc26c10\clipboard.png

b、添加mapred.map.output.compression.codec属性,

C:\Users\Administrator\AppData\Local\YNote\data\xsl316999766@163.com\fa52854677df461b858a73f914e246cc\clipboard.png

保存以上修改并在UDH上重启MapReduce2服务

3.     Hadoop lzo 功能测试

在UDH集群的任意一节点上,上传一个文本文件到hdfs上,执行mapreduce wordcount测试,从日志中可以发现lzo加载成功。

C:\Users\Administrator\AppData\Local\YNote\data\xsl316999766@163.com\7b85f16685aa4cb9aede892b72d0f21b\clipboard.png

4.     Hbase lzo 功能测试

执行hbase的lzo example 来验证,执行如下命令:

hbase org.apache.hadoop.hbase.util.CompressionTest

hdfs://20.12.20.5:8020/tmp/install.log lzo

C:\Users\Administrator\AppData\Local\YNote\data\xsl316999766@163.com\016e1fa5b42c4d48970501f1c3048a8f\clipboard.png

  hbase 应用

              LZO对比Hbase默认的Gzip,前者性能比较高,后者压缩比较高,对与想提高Hbase读写性能的用户,采用LZO压缩是比较好的选择,

                create 'test',{NAME=>'f1',COMPRESSION=>'lzo'}   按照列族压缩

5.     总结

在UDH上配置开启Hadoop和hbase的lzo压缩功能 只需在UDH server上修改配置,简单易操作,而不需手动修改集群里各个节点的配置。

 

Attachments:

UDH 上开启Hadoop和Hbase集群的lzo压缩功能.docx (application/vnd.openxmlformats-officedocument.wordprocessingml.document)