[原]hadoop再次配置lzo

标签: | 发表时间:2013-11-14 19:06 | 作者:chenyi8888
出处:http://blog.csdn.net/chenyi8888

最近又重新进行了一次配置lzo压缩,步骤如下:

安装前,必须的工具:

 lib* glibc* gcc*

ant mvn

注意:确定gcc版本,之前网上有人说不能使用超过4.4版本的gcc,我在安装过程中使用的gcc4.1.2的版本,也是正常的

 

操作系统名称:

Linux master 2.6.18-194.el5 #1 SMP Tue Mar 16 21:52:39 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux

根据此操作系统,需要安装关联库列表:

kevinweil-hadoop-lzo-6bb1b7f.tar.gz
lzo-2.06-1.el5.rf.x86_64.rpm(根据具体操作系统信息,下载对应的rpm包)
lzo-2.06.tar.gz
lzo-devel-2.06-1.el5.rf.x86_64.rpm(根据具体操作系统信息,下载对应的rpm包)
lzop-1.03.tar.gz

现在在网上下载不到kevinweil-hadoop-lzo-6bb1b7f.tar.gz,变成了hadoop-lzo-master.zip,里面的内容都一样,只是压缩方式不同而已。

 

安装lzo-2.06.tar.gz
在linux下面,运行命令:
解压后
cd lzo-2.06
执行三部曲:

./configure --enable-shared 
make 
make install

默认安装到/usr/local/lib目录下,然后进行复制操作:

cp /usr/local/lib/liblzo2.* /usr/lib64 (64位)

cp /usr/local/lib/liblzo2.* /usr/lib (32位)

 

安装: lzo-2.06-1.el5.rf.x86_64.rpm和lzo-devel-2.06-1.el5.rf.x86_64.rpm

下载网址: http://pkgs.repoforge.org/lzo/

在liunx下面运行命令:

wget  http://pkgs.repoforge.org/lzo/lzo-2.06-1.el5.rf.x86_64.rpm

rpm -ivh lzo-2.06-1.el5.rf.x86_64.rpm

wget  http://pkgs.repoforge.org/lzo/lzo-devel-2.06-1.el5.rf.x86_64.rpm

rpm -ivh lzo-devel-2.06-1.el5.rf.x86_64.rpm

安装注意:在我的安装过程中,出现了rpm运行没有任何反应,感觉就阻塞了,通过搜索网上资料,是因为当前机器里的nfs挂载无效导致,卸载掉这个,就运行正常了。

另外就是以上安装是跟具体的操作系统名称来下载对应的rpm包的,具体内容在下载网址里自行寻找。

 

 

安装lozp-1.03.tar.gz

下载网址: http://www.lzop.org/download/

在liunx下面运行命令:

wget  http://www.lzop.org/download/lzop-1.03.tar.gz

解压此文件

cd lzop-1.03

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

执行三部曲:

./configure --enable-shared 
make 
make install

验证是否安装成功,运行如下:

[hadoop@master install_software]$ lzop
                          Lempel-Ziv-Oberhumer Packer
                           Copyright (C) 1996 - 2010
lzop v1.03         Markus Franz Xaver Johannes Oberhumer          Nov 1st 2010

Usage: lzop [-dxlthIVL19] [-qvcfFnNPkUp] [-o file] [-S suffix] [file..]

Commands:
  -1     compress faster                   -9    compress better
  -d     decompress                        -x    extract (same as -dPp)
  -l     list compressed file              -I    display system information
  -t     test compressed file              -V    display version number
  -h     give this help                    -L    display software license
Options:
  -q     be quiet                          -v       be verbose
  -c     write on standard output          -oFILE   write output to 'FILE'
  -p     write output to current dir       -pDIR    write to path 'DIR'
  -f     force overwrite of output files
  -n     do not restore the original file name (default)
  -N     restore the original file name
  -P     restore or save the original path and file name
  -S.suf use suffix .suf on compressed files
  -U     delete input files after successful operation (like gzip and bzip2)
  file.. files to (de)compress. If none given, try standard input.

 

 

安装kevinweil-hadoop-lzo-6bb1b7f.tar.gz,此包就是hadoop for lzo的库

下载网址: https://github.com/kevinweil/hadoop-lzo/

注意:之前的老版本可以在 https://github.com/kevinweil/hadoop-lzo/downloads下载到kevinweil-hadoop-lzo-6bb1b7f.tar.gz(现在不行了)

目前下载的包是:hadoop-lzo-master.zip,内容一样的,只是压缩方式不同

解压此包:

cd kevinweil-hadoop-lzo-6bb1b7f

export CFLAGS=-m32 

export CXXFLAGS=-m32 

ant compile-native  

or 

export CFLAGS=-m64 

export CXXFLAGS=-m64 

ant compile-native tar

 

执行成功后

cp build/hadoop-lzo-0.4.15.jar $HADOOP_HOME/lib/

cp /build/native/Linux-i386-32/lib/*  $HADOOP_HOME/lib/native/Linux-i386-32/ (32位)

or

cp /build/native/Linux-amd64-64/lib/*  $HADOOP_HOME/lib/native/Linux-amd64-64/ (64位)

 

 以上操作完后,就修改hadoop配置文件相关参数:

core-site.xml (注意红色字体): 

<property> 
<name>io.compression.codecs</name>    
<value>org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.DefaultCodec, com.hadoop.compression.lzo.LzoCodec,com.hadoop.compression.lzo.LzopCodec,org.apache.hadoop.io.compress.BZip2Codec</value> 
</property> 

 

mapred-site.xml:  

<property> 
<name>mapred.compress.map.output</name> 
<value>true</value> 
</property>
<property>
<name>mapred.output.compress</name>
<value>true</value>
</property> 
<property>   
<name>mapred.child.env</name>   
<value>JAVA_LIBRARY_PATH=/home/hadoop/hadoop-1.0.3/lib/native/Linux-amd64-64</value>   
</property> 

注意:如果是32位,mapred.child.env的值为:

 JAVA_LIBRARY_PATH=/home/hadoop/hadoop-1.0.3/lib/native/Linux-i386-32

 

最后验证lzo,很幸运,hadoop for lzo有自己的验证方式,运行命令如下:

本地随便找个文件,我以文件hive-default-1151367623824834635.xml为例,先进行lzo压缩,运行命令如下:

lzop -9 hive-default-1151367623824834635.xml

就会生成hive-default-1151367623824834635.xml.lzo

然后运行命令:

mv hive-default-1151367623824834635.xml.lzo hive-default-1151367623824834635.xml.lzo_deflate

进行改名,将此文件上传到HDFS目录上,执行下面命令:

hadoop dfs -put hive-default-1151367623824834635.xml.lzo_deflate /user/hadoop/

然后执行验证命令:

hadoop jar $HADOOP_HOME/lib/hadoop-lzo-0.4.15.jar com.hadoop.compression.lzo.LzoIndexer /user/hadoop/hive-default-1151367623824834635.xml.lzo_deflate
13/11/13 11:34:35 INFO lzo.GPLNativeCodeLoader: Loaded native gpl library
13/11/13 11:34:35 INFO lzo.LzoCodec: Successfully loaded & initialized native-lzo library [hadoop-lzo rev 6bb1b7f8b9044d8df9b4d2b6641db7658aab3cf8]
[hadoop@master build]$

 

以上说明:hadoop平台上的lzo压缩后缀名为:lzo_deflate而不是lzo。

 

 

 

 

 

 

作者:chenyi8888 发表于2013-11-14 11:06:22 原文链接
阅读:16 评论:0 查看评论

相关 [hadoop lzo] 推荐:

[原]hadoop再次配置lzo

- - 分布式应用与服务器架构专栏
最近又重新进行了一次配置lzo压缩,步骤如下:. 注意:确定gcc版本,之前网上有人说不能使用超过4.4版本的gcc,我在安装过程中使用的gcc4.1.2的版本,也是正常的. 根据此操作系统,需要安装关联库列表:. lzo-2.06-1.el5.rf.x86_64.rpm(根据具体操作系统信息,下载对应的rpm包).

Hadoop LZO的安装与配置

- - CSDN博客云计算推荐文章
Hadoop支持好几种压缩算法,包括:. Hadoop提供这些算法的Java实现,所以可以很方便的通过FileSystem API来进行文件的压缩和解压缩. 这些压缩算法都有一个缺陷,那就是文件不能被分片(splittable). 这就意味着采用这些算法进行压缩的文件需要读取整个文件才能将文件解压缩.

GZIP、LZO、Zippy/Snappy压缩算法应用场景小结 - 大圆那些事 - 博客园

- -
大圆那些事| 文章可以转载,请以超链接形式标明文章原始出处和作者信息. GZIP、LZO、Zippy/Snappy是常用的几种压缩算法,各自有其特点,因此适用的应用场景也不尽相同. 这里结合相关工程实践的情况,做一次小结. 以下是Google几年前发布的一组测试数据(数据有些老了,有人近期做过测试的话希望能共享出来):.

Hadoop Streaming 编程

- - 学着站在巨人的肩膀上
Hadoop Streaming是Hadoop提供的一个编程工具,它允许用户使用任何可执行文件或者脚本文件作为Mapper和Reducer,例如:. 采用shell脚本语言中的一些命令作为mapper和reducer(cat作为mapper,wc作为reducer). 本文安排如下,第二节介绍Hadoop Streaming的原理,第三节介绍Hadoop Streaming的使用方法,第四节介绍Hadoop Streaming的程序编写方法,在这一节中,用C++、C、shell脚本 和python实现了WordCount作业,第五节总结了常见的问题.

Hadoop使用(一)

- Pei - 博客园-首页原创精华区
Hadoop使用主/从(Master/Slave)架构,主要角色有NameNode,DataNode,secondary NameNode,JobTracker,TaskTracker组成. 其中NameNode,secondary NameNode,JobTracker运行在Master节点上,DataNode和TaskTracker运行在Slave节点上.

Hadoop MapReduce技巧

- - 简单文本
我在使用Hadoop编写MapReduce程序时,遇到了一些问题,通过在Google上查询资料,并结合自己对Hadoop的理解,逐一解决了这些问题. Hadoop对MapReduce中Key与Value的类型是有要求的,简单说来,这些类型必须支持Hadoop的序列化. 为了提高序列化的性能,Hadoop还为Java中常见的基本类型提供了相应地支持序列化的类型,如IntWritable,LongWritable,并为String类型提供了Text类型.

Hadoop TaskScheduler浅析

- - kouu&#39;s home
TaskScheduler,顾名思义,就是MapReduce中的任务调度器. 在MapReduce中,JobTracker接收JobClient提交的Job,将它们按InputFormat的划分以及其他相关配置,生成若干个Map和Reduce任务. 然后,当一个TaskTracker通过心跳告知JobTracker自己还有空闲的任务Slot时,JobTracker就会向其分派任务.

HADOOP安装

- - OracleDBA Blog---三少个人自留地
最近有时间看看hadoop的一些东西,而且在测试的环境上做了一些搭建的工作. 首先,安装前需要做一些准备工作. 使用一台pcserver作为测试服务器,同时使用Oracle VM VirtualBox来作为虚拟机的服务器. 新建了三个虚拟机以后,安装linux,我安装的linux的版本是redhat linux 5.4 x64版本.

Hadoop Corona介绍

- - 董的博客
Dong | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及 版权声明. 网址: http://dongxicheng.org/hadoop-corona/hadoop-corona/. Hadoop Corona是facebook开源的下一代MapReduce框架. 其基本设计动机和Apache的YARN一致,在此不再重复,读者可参考我的这篇文章 “下一代Apache Hadoop MapReduce框架的架构”.

Hadoop RPC机制

- - 企业架构 - ITeye博客
RPC(Remote Procedure Call Protocol)远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议. Hadoop底层的交互都是通过 rpc进行的. 例如:datanode和namenode 、tasktracker和jobtracker、secondary namenode和namenode之间的通信都是通过rpc实现的.