zoukankan      html  css  js  c++  java
  • 配置hadoop集群的lzo压缩

    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.20-SNAPSHOT.jar /opt/hadoop-2.2.0/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-64/:/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 
  • 相关阅读:
    [Violet]蒲公英
    CF535-Div3
    逛公园
    exgcd
    线段树套线段树
    Luogu P2730 魔板 Magic Squares
    fhqtreap
    AtCoder Beginner Contest 115
    关于这个博客
    智障错误盘点
  • 原文地址:https://www.cnblogs.com/skyl/p/4764148.html
Copyright © 2011-2022 走看看