Hadoop配置LZO压缩

芒果2年前技术文章735


hadoop-lzo编译
Hadoop支持LZO
0. 环境准备
maven(下载安装,配置环境变量,修改sitting.xml加阿里云镜像)
gcc-c++
zlib-devel
autoconf
automake
libtool
通过yum安装即可,yum -y install gcc-c++ lzo-devel zlib-devel autoconf automake libtool
1. 下载、安装并编译LZO
wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.10.tar.gz
tar -zxvf lzo-2.10.tar.gz
cd lzo-2.10
./configure -prefix=/usr/local/hadoop/lzo/
make -j 20
make install
2. 编译hadoop-lzo源码
2.1 下载hadoop-lzo的源码,下载地址:https://github.com/twitter/hadoop-lzo/archive/master.zip
2.2 解压之后,修改pom.xml
<hadoop.current.version>3.1.3</hadoop.current.version>
2.3 声明两个临时环境变量
export C_INCLUDE_PATH=/usr/local/hadoop/lzo/include
export LIBRARY_PATH=/usr/local/hadoop/lzo/lib
2.4 编译
进入hadoop-lzo-master,执行maven编译命令
mvn package -Dmaven.test.skip=true
2.5 进入target,hadoop-lzo-0.4.21-SNAPSHOT.jar 即编译成功的hadoop-lzo组件

   

 hadoop-lzo-0.4.20.jar文件:
将编译好后的hadoop-lzo-0.4.20.jar 放入hadoop/share/hadoop/common/


同步hadoop-lzo-0.4.20.jar到emr2、emr3


core-site.xml增加配置支持LZO压缩
<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>


同步core-site.xml到emr2、emr3


启动及查看集群
LZO创建索引
创建LZO文件的索引,LZO压缩文件的可切片特性依赖于其索引,故我们需要手动为LZO压缩文件创建索引。若无索引,则LZO文件的切片只有一个。
测试wordcount, 看其结果:
[root@emr1 opt]# pdfs dfs -mkdir /input
[root@emr1 opt]# hdfs dfs -put test.txt /input
[root@emr1 opt]# hadoop jar /opt/dtstack/Hadoop/hadoop_pkg/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.1.jar wordcount -Dmapreduce.output.fileoutputformat.compress=true -Dmapreduce.output.fileoutputformat.compress.codec=com.hadoop.compression.lzo.LzopCodec  /input/test.txt /output


创建lzo索引
hadoop jar /opt/dtstack/Hadoop/hadoop_pkg/share/hadoop/common/hadoop-lzo-0.4.20.jar com.hadoop.compression.lzo.DistributedLzoIndexer /output/part-r-00000.lzo


E96F0EB2-8F17-4997-B493-ED517274408C.png

测试完成。


返回列表

上一篇:Hue简介

下一篇:Zeppelin简介

相关文章

docker安装及常用操作

docker安装及常用操作

一、安装docker1、移除以前docker相关包sudo yum remove docker \      ...

数据湖技术之iceberg(四)iceberg的数据类型

1  Iceberg数据类型类型描述笔记boolean布尔类型,true或者falseint32 位有符号整数可以转换成long类型long64 位有符号整数float单精度浮点型可以转换成...

CDH开启kerberos

CDH开启kerberos

1、依赖条件1、安装openldap-clients,krb5-workstations2、准备好kdcserver 或者AD2、操作步骤1、使用admin用户登录cm页面2、启用kerberos填写...

CDP实操--配置Ranger对hive行过滤(七)

CDP实操--配置Ranger对hive行过滤(七)

1.使用sam_sec查询person表2.用sam_sec认证.3.查询person表:4. 配置行过滤策略。5. 新增策略:6. 过滤anna:7. 查询测试。...

Prometheus集成pushgateway监控k8s集群

Prometheus集成pushgateway监控k8s集群

Prometheus部署环境介绍本文的k8s环境是通过二进制方式搭建的v1.20.13版本清单准备注意集群版本的坑,自己先到Github上下载对应的版本。注意: 集群版本在v1.21.x之前需要注意下...

Kafak顺序写入与数据读取详解

Kafak顺序写入与数据读取详解

生产者(producer)是负责向Kafka提交数据的,Kafka会把收到的消息都写入到硬盘中,它绝对不会丢失数据。为了优化写入速度Kafak采用了两个技术,顺序写入和MMFile。1. 顺序写入因为...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。