温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Hadoop2.6.0和Spark1.3.1怎么添加LZO压缩支持

发布时间:2021-12-10 14:18:25 来源:亿速云 阅读:152 作者:iii 栏目:云计算

本篇内容主要讲解“Hadoop2.6.0和Spark1.3.1怎么添加LZO压缩支持”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Hadoop2.6.0和Spark1.3.1怎么添加LZO压缩支持”吧!

    因为MR在计算过程会产生大量的磁盘和网络的IO,故如果能对MR的中间结果进行压缩,势必能够进一步提升MR的计算性能。而LZO作为一种压缩算法,在具有较高的压缩比例和较好的压缩速度的同时,也允许压缩数据进行block分片。所以现行的集群多采用LZO算法进行压缩。

    本文主要针对Hadoop2.6.0,介绍下添加LZO支持所需要的四个步骤:

  1. 安装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包下所有数据,同步到集群其它所有节点

  2. 安装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目录下

  3. 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进行数据的压缩操作

  4. 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

到此,相信大家对“Hadoop2.6.0和Spark1.3.1怎么添加LZO压缩支持”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI