zoukankan      html  css  js  c++  java
  • hadoop-cdh with snappy

    hadoop: 2.5.0-cdh5.3.6

    snappy: 1.1.3

    hadoop 2.*不需要hadoop-snappy。只要机器上安装好snappy, 直接编译就可以

    编译命令:

    mvn clean package -DskipTests -Pdist,native -Dtar -Drequire.snappy -Dbundle.snappy=true -Dsnappy.lib=/home/hadoop/software/snappy/lib -Dsnappy.prefix=/home/hadoop/software/snappy
    

    注意:snappy.lib和snappy.prefix两个选项都需要。如果没有snappy.lib编译会报错。如果没有snappy.prefix,编译能够通过,但是libhadoop.so里,根本没有继承snappy, 运行时还是会报错。我就是在这个问题上花费了很多时间。官文的说法,snappy.prefix会被忽略,根本不是。

    • Use -Dbundle.snappy to copy the contents of the snappy.lib directory into
      the final tar file. This option requires that -Dsnappy.lib is also given,
      and it ignores the -Dsnappy.prefix option. 如果没有snappy.prefix,即使编译成功,libhadoop.so里面根本没有继承snappy

    如果是要让现有的hadoop支持snappy, 只需要使用上面的编译命令,编译hadoop-common-project,然后拷贝lib/native下的所有文件到hadoop的lib/native.

    很多文章都说需要配置LD_LIBRARY_PATH,我是把所有的包都放到了lib/native里面,并不需要这个配置,因为hadoop默认就是从lib/native目录去读native库的

    测试
    yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0-cdh5.3.6.jar wordcount -Dmapreduce.map.output.compress=true -Dmapreduce.map.output.compress.codec=org.apache.hadoop.io.compress.SnappyCodec /user/hadoop/mapreduce/wordcount/input/text /user/hadoop/mapreduce/wordcount/output/o1

  • 相关阅读:
    ASP.net 上传
    asp.net 上传
    asp.net dropdownlist和listbox
    jqeury之平移轮播
    vs2013的asp.net 管理
    jqeury轮播
    jqeury之轮播图
    重温委托(delegate)和事件(event)
    Log4Net
    解决SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问的方法
  • 原文地址:https://www.cnblogs.com/ivanny/p/cdh_hadoop_with_snappy.html
Copyright © 2011-2022 走看看