MR-Job中使用lzop详见MR案例:Job中使用Lzo压缩

1). 配置前的环境准备

# yum -y install  lzo-devel zlib-devel  gcc autoconf automakelibtool

2). (all) 在集群的所有节点上安装Lzo库

 下载、解压,然后编译。并将/usr/local/hadoop/lzo-2.06目录下的所有文件打包,并同步到集群中的所有机器上。相关命令:

 # tar -zxvf lzo-2.06.tar.gz
# cd lzo-2.06
# export CFLAGS=-m64
# ./configure --enable-shared
# make
# make install

3). Lzo库文件被默认安装到了/usr/local/lib,我们需要进一步指定lzo库文件的路径。两个方法:
 3.1. 拷贝/usr/local/lib目录下的lzo库文件到/usr/lib(32位平台),或/usr/lib64(64位平台)

#cp /usr/local/lib/liblzo2.* /usr/lib64 

 3.2. 在/etc/ld.so.conf.d/目录下新建lzo.conf文件,写入lzo库文件的路径,然后运行/sbin/ldconfig -v,使配置生效

#vi /etc/ld.so.conf.d/lzo.conf
/usr/local/lib
# /sbin/ldconfig -v

4). 编译安装Hadoop Lzo本地库以及Jar包
 

 采用twitter的下载地址,解压文件

unzip hadoop-lzo-master.zip

 4.1.修改 pom.xml 文件,即hadoop的当前版本

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<hadoop.current.version>2.2.0</hadoop.current.version>
<hadoop.old.version>1.0.4</hadoop.old.version>
</properties>

 4.2.hadoop-lzo-master.zip文件相关操作

cd hadoop-lzo-master
export CFLAGS=-m64
export CXXFLAGS=-m64
export C_INCLUDE_PATH=/usr/local/include/lzo
export LIBRARY_PATH=/usr/local/lib
//预先安装好maven
mvn clean package -Dmaven.test.skip=true

 4.3.把target/native/Linux-amd64-64/lib下的全部文件拷贝到${HADOOP_HOME}/lib/native

[root@ncst target]# cd native/Linux-amd64-64
[root@ncst Linux-amd64-64]# tar -cBf - -C lib . | tar -xBvf - -C ~
[root@ncst ~]# cp ~/libgplcompression* $HADOOP_HOME/lib/native/

 4.4.然后拷贝JAR包

cp hadoop-lzo-master/target/hadoop-lzo-0.4.-SNAPSHOT.jar /opt/hadoop-2.2./share/hadoop/common/lib

5). 对于Hbase启用Lzo

cp $HADOOP_HOME/lib/native/Linux-amd64-64/* $HBASE_HOME/lib/native/Linux-amd64-64

 5.1.修改:hbase-env.sh

exportHBASE_LIBRARY_PATH=$HBASE_LIBRARY_PATH:$HBASE_HOME/lib/native/Linux-amd64-/:/usr/local/lib/

6). 修改配置文件

 6.1.在hadoop-env.sh中加入

export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native

 6.2.在core-site.xml

<!-- 配置 Hadoop压缩包 -->
<property>
<name>io.compression.codecs</name>
<value>org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.GzipCodec,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>

 6.3.在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>LD_LIBRARY_PATH=/usr/local/lib</value>
</property>

7). 安装lzop

Lzop是使用lzo库写的一个程序,通过shell命令直接可以压缩、解压缩文件。下载地址

tar zxvf lzop-1.03.tar.gz
cd lzop-1.03
# exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
# ./configure
# make
# makeinstall

配置hadoop集群的lzo压缩的更多相关文章

  1. 开启hadoop和Hbase集群的lzo压缩功能(转)

    原文链接:开启hadoop和Hbase集群的lzo压缩功能 问题导读: 1.如何启动hadoop.hbase集群的压缩功能? 2.lzo的作用是什么? 3.hadoop配置文件需要做哪些修改? 首先我 ...

  2. Linux中安装配置hadoop集群

    一. 简介 参考了网上许多教程,最终把hadoop在ubuntu14.04中安装配置成功.下面就把详细的安装步骤叙述一下.我所使用的环境:两台ubuntu 14.04 64位的台式机,hadoop选择 ...

  3. 在 Linux 服务器上搭建和配置 Hadoop 集群

    实验条件:3台centos服务器,jdk版本1.8.0,Hadoop 版本2.8.0 注:hadoop安装和搭建过程中都是在用户lb的home目录下,master的主机名为host98,slave的主 ...

  4. hadoop集群环境搭建之安装配置hadoop集群

    在安装hadoop集群之前,需要先进行zookeeper的安装,请参照hadoop集群环境搭建之zookeeper集群的安装部署 1 将hadoop安装包解压到 /itcast/  (如果没有这个目录 ...

  5. centos7配置hadoop集群

    一:测试环境搭建规划: 主机名称 IP 用户 HDFS YARN hadoop11 192.168.1.101 hadoop NameNode,DataNode NodeManager hadoop1 ...

  6. 安装和配置hadoop集群步骤

    hadoop集群的安装步骤和配置 hadoop是由java语言编写的,首先我们肯定要在电脑中安装jdk,配置好jdk的环境,接下来就是安装hadoop集群的步骤了,在安装之前需要创建hadoop用户组 ...

  7. linux配置hadoop集群

    ①安装虚拟机 ②为虚拟机添加共享文件 右击已经安装好的虚拟机 设置—>选项—>共享文件 ③配置映射 sudo nano /etc/network/interfaces   重启网络:sud ...

  8. 为Linux集群创建新账户,并配置hadoop集群

    转自:http://blog.csdn.net/bluesky8640/article/details/6945776 之前装python.jdk.hadoop都是用的root账户,这是一个绝对的失策 ...

  9. 配置hadoop集群一

    花了1天时间最终把环境搭建好了.整理了一下,希望对想学习hadoop的有所帮助. 资料下载:http://pan.baidu.com/s/1kTupgkn 包括了linux虚拟机.jdk, hadoo ...

随机推荐

  1. typecho与wordpress

    相信玩博客的人对这两个程序会相当熟悉把. 有些人玩了很久WP之后又转向了typecho 之后又回到wp.举个例子typecho犹如一个美丽的裸体女人.wp就是一个穿着绫罗绸缎的女人. 当你看着裸体一天 ...

  2. Sass之二(进阶篇)

    源码链接:http://pan.baidu.com/s/1o8M51hC 1. 数据类型 1.1 Number 数字类型,小数类型,带有像素单位的数字类型,全部都属于Number类型 Number类型 ...

  3. hibernate的.hbm.xml文件文件配置属性详解

    一般.hbm.xml文件如下面: <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "- ...

  4. Struts文件下载(静态)

    前言:在实际的开发中,我们可能需要动态下载和静态下载, 动态下载:例如我上传了一个文件,你想下载,那就必须动态生成下载链接,因为我服务器一开始是不知道我上传的东西是什么,放在那里, 静态下载:比如一些 ...

  5. python基础-第三篇-函数编程

    基本数据类型之set set是无序不允许重复的集合 set创建:s = set() 创建空集合  s = {11,22,33} 转换s = set(可迭代数据) li = [11,22,33,44] ...

  6. windbg遍历进程页表查看内存

    2016-12-09 近期想查看下系统分配了的页的页表项的标志位,但是发现资料较少,所以还是记录下,希望可以对某些朋友有所帮助! 系统:win7 32位虚拟机 平台:KVM虚拟化平台 win7 32位 ...

  7. Mysql2索引

    索引分类: 作用:优化查询,select查询有三种情况:缓存查询(不在mysql中进行数据查询),全表查询,索引扫描 Btree(btree b+tree b*tree) Rtree HASH Ful ...

  8. Java根据IP地址获取MAC地址

    先使用ping -n  2 10.0.0.1 命令,如果返回的结果中含有TTL字符,证明ping 10.0.0.1是能ping通的,即可达的.如果在Linux机器上请使用 ping -c 2 10.0 ...

  9. 为什么使用Sails?

    http://sailsdoc.swift.ren/ 这里有 sails中文文档 http://www.jianshu.com/p/ac2da4142259 前言 入手Node.js半年,从用Expr ...

  10. python学习笔记(二十一)构造函数和析构函数

    python中的特殊方法,其中两个,构造函数和析构函数的作用: 比说“__init__”这个构造函数,具有初始化的作用,也就是当该类被实例化的时候就会执行该函数.那么我们就可以把要先初始化的属性放到这 ...