0
点赞
收藏
分享

微信扫一扫

Hadoop支持LZO压缩配置*


hadoop本身并不支持lzo压缩,故需要使用twitter提供的hadoop-lzo开源组件。hadoop-lzo需依赖hadoop和lzo进行编译

环境准备

maven(下载安装,配置环境变量,修改sitting.xml加阿里云镜像)
gcc-c++
zlib-devel
autoconf
automake
libtool
通过yum安装即可,yum -y install gcc-c++ lzo-devel zlib-devel autoconf automake libtool

下载

wget

安装

解压

tar

配置

在 lzo-2.10 目录下面依次执行下面三个命令

cd lzo-2.10
./configure -prefix=/root/soft/hadoop-2.7.2/lzo/

make

make install

编译hadoop -lzo源码

下载

windows 下载hadoop-lzo源码

​​https://github.com/twitter/hadoop-lzo/archive/master.zip​​

下载完了在本地解压, 然后修改pom.xml

版本号要和你本机的hadoop版本号对应上,

<hadoop.current.version>2.7.2</hadoop.current.version>

修改完了上传到Linux上面

然后Linux解压刚刚上传的zip文件,不会解压的看

配置环境变量

vim /etc/profile
然后添加
注意地址别写错了

#lzo 
export C_INCLUDE_PATH=/root/soft/hadoop-2.7.2/lzo/include
export LIBRARY_PATH=/root/soft/hadoop-2.7.2/lzo/lib
#lzo//

保存之后刷新配置文件

# 刷新配置文件
[root@zjj101 lzo]# source /etc/profile
# 查看环境变量是否已经生效
[root@zjj101 lzo]# echo $C_INCLUDE_PATH

编译lzo

yum方式安装Maven ,如果有Maven的话就跳过​

进入hadoop-lzo-master目录里面,执行maven编译命令,耐心等待

=true

编译完成之后
进入target,hadoop-lzo-0.4.21-SNAPSHOT.jar 即编译成功的hadoop-lzo组件

移动到指定目录

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

[root@zjj101 common]# ls
hadoop-common-2.7.2.jar hadoop-lzo-0.4.21-SNAPSHOT.jar jdiff sources
hadoop-common-2.7.2-tests.jar hadoop-nfs-2.7.2.jar lib templates
[root@zjj101 common]#

core-site.xml增加配置支持LZO压缩

vim "/root/soft/hadoop-2.7.2/etc/hadoop/core-site.xml"

下面配置放到configuration标签内部

<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>

测试

重启hdfs 和yarn之后

执行一下wordcount程序

在/hadoop-2.7.2/share/hadoop/mapreduce里面是官方提供的一些示例.
执行命令

hadoop jar hadoop-mapreduce-examples-2.7.2.jar  wordcount /wc /wcoutput

打印了一堆日志,但是看到下面的内容说明生效了

: 1
20/10/23 13:20:36 INFO lzo.GPLNativeCodeLoader: Loaded native gpl library from the embedded binaries
20/10/23 13:20:36 INFO lzo.LzoCodec: Successfully loaded & initialized native-lzo library [hadoop-lzo rev 5dbdddb8cfb544e58b4e0b9664b9d1b66657faf5]


举报

相关推荐

0 条评论