这个东西,看来很复杂,网上一搜很多资料。
总的来说就是
一,需要编译hadoop lzo部分的代码,然后添加到hadoop lib里面。
二,然后在core-site.xml、mapred-site.xml、hadoop-env.sh里面加几个参数,
三,重启集群就ok了。
虽然看上去就三步,不过编译hadoop lzo部分的代码还是有点小麻烦的。
现在主要记录下这块把。
说明:
a,yum install lzo-devel.x86_64
b。部署编译好的库文件
c,修改配置文件
这三个是要在每个节点上执行的。
其他的都是为了编译做准备,只需要在一台机器上执行就行了。
具体过程如下:
主要分为以下几步:
1,下载lzo库和相关工具
下载之前,配置好yum是必须的,嘿嘿。
然后执行
yum install lzo-devel.x86_64 lzop.x86_64 gcc --nogpgcheck
当然,有可能会有各种yum相关的问题,可以yum clean all一下试试。
哦,对了,这里机器是64位的,32位的可能有不同。
2,下载hadoop lzo功能代码
因为hadoop官方包没有这部分代码,需要下载,地址如下:
https://github.com/kevinweil/hadoop-lzo,左上角有个zip下载就是,kevinweil-hadoop-lzo-6bb1b7f.zip这个就是下载下来的东西。
另外就是下载ant工具,用这个版本:apache-ant-1.8.3
3,编译代码
将zip解压后,cd到该目录下,然后执行以下命令:
export JAVA_HOME=/usr/lib/jvm/java-1.6.0-sun-1.6.0.18.x86_64
export CFLAGS=-m64
export CXXFLAGS=-m64
ant compile-native tar
注意几点:a,这里是64位的机器设置方法,32位的可能会有不同。
b,JAVA_HOME一定要正确,不能是软连接或者硬连接,一定要是目录。
c,ant版本要用 apache的1.8.3。(之前yum安装了一个,不行)
4,部署编译好的库
编译好后,会在build文件夹下生成些新东西,
把build 下的hadoop-lzo-0.4.15.jar复制到$HADOOP_HOME/lib下,
把build/native/Linux-amd64-64/lib 下的所有内容,复制到$HADOOP_HOME/lib/native/Linux-amd64-64/下
5,修改配置文件
a,在hadoop-env.sh中添加:
export HADOOP_CLASSPATH="${HADOOP_PREFIX}/lib/hadoop-lzo-0.4.14.jar:${HADOOP_CLASSPATH}"
b,在core-site.xml中添加:
<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,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>
c,在mapred-site.xml中添加:
<property>
<name>mapreduce.map.output.compress</name>
<value>true</value>
</property>
<property>
<name>mapreduce.map.output.compress.codec</name>
<value>com.hadoop.compression.lzo.LzoCodec</value>
</property>
<property>
<name>mapred.child.env</name>
<value>JAVA_LIBRARY_PATH=/home/hadoop/hadoop-0.20.2-cdh3u3/lib/native/Linux-amd64-64</value>
</property>
然后就ok啦。
分享到:
相关推荐
接着,需要在Hadoop的配置文件(如hadoop-site.xml)中配置相关的属性,如启用LZO压缩的输出格式。 2. 数据压缩:Hadoop LZO提供了一种名为`LZOFileFormat`的文件格式,可以用来创建和读取LZO压缩的文件。通过设置`...
为了在Hadoop集群中使用Hadoop LZO,用户需要将库文件添加到Hadoop的类路径中,并配置Hadoop的属性,如`io.compression.codecs`和`io.compression.codec.lzo.class`,以启用LZO压缩支持。同时,还需要确保集群中的...
hadoop支持LZO压缩配置 将编译好后的hadoop-lzo-0.4.20.jar 放入hadoop-2.7.2/share/hadoop/common/ core-site.xml增加配置支持LZO压缩 <name>io.compression.codecs org.apache.hadoop.io....
集成Hadoop-LZO到你的Hadoop环境,你需要将`hadoop-lzo-0.4.21-SNAPSHOT.jar`添加到Hadoop的类路径中,并配置Hadoop的相关参数,例如在`core-site.xml`中设置`io.compression.codecs`属性,指定支持LZO压缩。...
Hadoop-LZO的性能受到多种因素影响,包括硬件性能、Hadoop集群的配置、数据的特性等。为了优化性能,可以考虑以下策略: 1. 使用多线程进行压缩和解压缩。 2. 调整Hadoop的Block大小以匹配LZO压缩后的数据块大小。 3...
这通常涉及将LZO的Java代码添加到Hadoop的源代码树中,修改相应的配置文件,确保Hadoop知道如何处理LZO压缩的数据块。接着,你需要编译整个Hadoop源码,生成新的Hadoop二进制包并部署到集群中。这种方法的优点是LZO...
`hadoop-lzo-master.zip`很可能是该项目的源码仓库,包含了编译和配置Hadoop-LZO所需的所有文件。 【Apache Maven】: Apache Maven是一个流行的Java项目管理工具,用于构建、管理和依赖关系管理。`apache-maven-...
Hadoop-LZO是一款针对Hadoop生态系统的数据压缩库,它实现了高效的Lempel-Ziv-Ozark (LZO) 压缩算法。...同时,为了确保集群中的所有节点都能正确处理LZO压缩数据,所有节点都需要安装并配置好相应的Hadoop-LZO包。
hadoop配置支持LZO压缩必备,版本号hadoop-lzo-0.4.20-SNAPSHOT.jar,
要将LZO引入Hadoop项目,开发者需要将hadoop-lzo-0.4.20.jar添加到项目的类路径中,并配置Hadoop的压缩设置。在core-site.xml配置文件中,可以设置`io.compression.codecs`属性来注册LZO codec,如下所示: ```xml ...
8. **配置文件**:可能包含示例配置文件,指导用户如何在Hadoop配置文件中添加LZO相关的设置,如`core-site.xml`和`hdfs-site.xml`。 在大数据领域,Hadoop-LZO的使用有助于减少数据存储空间,提高I/O效率,尤其是...
4. 配置Hadoop:在Hadoop的配置文件(如core-site.xml)中添加LZO的配置项,指定使用的Codec。 5. 测试和验证:运行简单的MapReduce任务,确保LZO Codec能够正确地压缩和解压缩数据。 值得注意的是,尽管LZO压缩...
在Hadoop集群中,可以通过在$HADOOP_HOME/lib目录下添加LZO库文件,并在配置文件中设置LZO编码/解码器的路径来完成LZO编码/解码器的配置。 当这一切都配置完成之后,Hadoop集群就能够利用LZO算法对数据进行压缩和解...
【Hadoop集群LZO安装与配置】 在大数据处理领域,Hadoop是一个广泛使用的开源框架,而LZO是一种高效的压缩算法,常用于Hadoop集群中,以减少数据存储和传输的开销。本文将详细介绍如何在运行CentOS 5.5且安装了...