Hadoop2.6.0和Spark1.3.1添加LZO压缩支持
2015-08-05 19:30
239 查看
因为MR在计算过程会产生大量的磁盘和网络的IO,故如果能对MR的中间结果进行压缩,势必能够进一步提升MR的计算性能。而LZO作为一种压缩算法,在具有较高的压缩比例和较好的压缩速度的同时,也允许压缩数据进行block分片。所以现行的集群多采用LZO算法进行压缩。
本文主要针对Hadoop2.6.0,介绍下添加LZO支持所需要的四个步骤:
安装LZO
在http://www.oberhumer.com/,下载LZO的tar包lzo-2.09.tar.gz
解压tar包
安装LZO
export CFLAGS=-64m
./configure --enable-shared --prefix=/usr/local/lzo/lzo-2.09
make
sudo make install
安装Hadoop-LZO
将/usr/local/lzo包下所有数据,同步到集群其它所有节点
安装Hadoop-LZO
git clone https://github.com/twitter/hadoop-lzo.git
修改pom文件,将hadoop.current.version从2.4.0修改为2.6.0
安装Hadoop-LZO
export CFLAGS=-64m
export CXXFLAGS=-64m
export C_INCLUDE_PATH=/usr/local/lzo/lzo-2.09/include
export LIBRARY_PATH=/usr/local/lzo/lzo-2.09/lib
mvn clean package -Dmaven.test.skip=true
cd target/native/Linux-amd64-64
tar -cBf - -C lib . | tar -xBvf - -C ~
将~目录下生成的libgplcompression.*拷贝到集群各个节点的$HADOOP_HOME/lib/native目录下
将target目录下生成的hadoop-lzo-0.4.20-SNAPSHOT.jar拷贝到集群各个节点的$HADOOP_HOME/share/hadoop/common目录下
Hadoop配置文件修改
在hadoop-env.sh中,添加
在core-site.xml中,添加
在mapred-site.xml中,添加
重新启动集群后,即可使用LZO进行数据的压缩操作
Sparkp配置文件修改
在spark-env.sh中,添加如下配置即可
本文主要针对Hadoop2.6.0,介绍下添加LZO支持所需要的四个步骤:
安装LZO
在http://www.oberhumer.com/,下载LZO的tar包lzo-2.09.tar.gz
解压tar包
安装LZO
export CFLAGS=-64m
./configure --enable-shared --prefix=/usr/local/lzo/lzo-2.09
make
sudo make install
安装Hadoop-LZO
将/usr/local/lzo包下所有数据,同步到集群其它所有节点
安装Hadoop-LZO
git clone https://github.com/twitter/hadoop-lzo.git
修改pom文件,将hadoop.current.version从2.4.0修改为2.6.0
安装Hadoop-LZO
export CFLAGS=-64m
export CXXFLAGS=-64m
export C_INCLUDE_PATH=/usr/local/lzo/lzo-2.09/include
export LIBRARY_PATH=/usr/local/lzo/lzo-2.09/lib
mvn clean package -Dmaven.test.skip=true
cd target/native/Linux-amd64-64
tar -cBf - -C lib . | tar -xBvf - -C ~
将~目录下生成的libgplcompression.*拷贝到集群各个节点的$HADOOP_HOME/lib/native目录下
将target目录下生成的hadoop-lzo-0.4.20-SNAPSHOT.jar拷贝到集群各个节点的$HADOOP_HOME/share/hadoop/common目录下
Hadoop配置文件修改
在hadoop-env.sh中,添加
export LD_LIBRARY_PATH=/usr/local/lzo/lzo-2.09/lib
在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> <property> <name>io.compression.codec.lzo.class</name> <value>com.hadoop.compression.lzo.LzoCodec</value> </property>
在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> <property> <name>mapred.child.env</name> <value>LD_LIBRARY_PATH=/usr/local/lzo/lzo-2.09/lib</value> </property>
重新启动集群后,即可使用LZO进行数据的压缩操作
Sparkp配置文件修改
在spark-env.sh中,添加如下配置即可
export SPARK_LIBRARY_PATH=$SPARK_LIBRARY_PATH:/data/hadoop-2.6.0/lib/native export SPARK_CLASSPATH=$SPARK_CLASSPATH:/data/hadoop-2.6.0/share/hadoop/common/hadoop-lzo-0.4.20-SNAPSHOT.jar
相关文章推荐
- HDFS中的checkpoint( 检查点 )的问题
- Hadoop环境之cygwin安装
- HBase与MapReduce集成2-Hdfs2HBase
- HBase与MapReduce集成1-HBase2Hdfs
- hdfs 客户端挂载,集群间复制
- hadoop 安装配置
- hadoop1存在的问题及hadoop2的优势对比
- HDFS的运行原理(转)
- HDFS 的Trash回收站功能的配置、使用
- hdfs api
- HDFS文件操作
- HDFS文件读取详解
- (转)HDFS简介
- hdfs小文件的解决方案
- flume实例二、监听目录日志上传到HDFS文件系统
- HDFS数据完整性解析
- Hadoop2.5.2+HA+zookeeper3.4.6详细配置过程
- HDFS Balancer(翻译)
- HDFS读写过程
- HDFS Trash 整理