zoukankan      html  css  js  c++  java
  • 最笨的方法解决 使用Snappy 压缩方式报错“java.lang.UnsatisfiedLinkError: no snappyjava in java.library.path”

    之前写过一篇这个文章:http://blog.csdn.net/stark_summer/article/details/47361603,那个时候 linux环境 spark 使用snappy方式压缩任然不好用,而今天我同事hive on hadoop 使用snappy压缩方式也报这个错,此刻的我,感觉这个问题 一定要解决

    我想了想,只能使用最笨的方式先解决这个问题了,将libsnappyjava.so文件放到$JAVA_HOME/jre/lib/amd64/下了

    操作过程如下:

    首先把$HADOOP_HOME/share/hadoop/common/lib/snappy-java-1.1.1.7.jar copy到临时目录下,然后unzip snappy-java-1.1.1.7.jar

    解压后会有如下目录:

          4096 Aug 31 15:58 META-INF
          4096 Apr 14 16:05 org

    进入libsnappyjava.so所在目录:

    $cd org/xerial/snappy/native/Linux/x86_64/

    就可以看到如下文件:

    libsnappyjava.so

    copy 到$JAVA_HOME/jre/lib/amd64/

    测试程序如下:

    import org.xerial.snappy.Snappy;
    
    /**
     *  * Created by stark_summer on 15/8/8.
     *   */
    public class TestSnappy {
        public static void main(String[] args) throws Exception{
    
            String input = "Hello snappy-java! Snappy-java is a JNI-based wrapper of "
                    + "Snappy, a fast compresser/decompresser.";
            byte[] compressed = Snappy.compress(input.getBytes("UTF-8"));
            byte[] uncompressed = Snappy.uncompress(compressed);
    
            String result = new String(uncompressed, "UTF-8");
            System.out.println(result);
        }
    }
    


    编译:javac -classpath ./snappy-java-1.1.1.7.jar TestSnappy.java

    执行:java TestSnappy

    执行结果:
    Hello snappy-java! Snappy-java is a JNI-based wrapper of Snappy, a fast compresser/decompresser.

    将“libsnappyjava.so”文件copy到 hadoop集群:$JAVA_HOME/jre/lib/amd64/下,hive on hadoop,使用snappy方式压缩不在报错,搞定了

    将SPARK_HOME/conf/spark-defaults.conf 

    spark.io.compression.codec lzf 注释或者去掉这行,spark将使用默认snappy压缩方式,也不再报错了


    PS:

    目前用最笨的方式解决了,但还是要进一步排查此问题




    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    vm中花屏的最直接解决办法
    【转】SQL SERVER中一些常见性能问题的总结
    好不容易把Head First Design Patterns下下来了,与大家分享一下
    没想到单位的bt下载的速度可以到这么快,满意了
    买了张水货的1Gsd卡
    商业缩略语汇总
    一些个人收集的书籍恢复下载
    sourceforge.net 是不是被封了?
    2009年我大学毕业了,我工作了,总结成长中的我的2009年 Fred
    Web Service的传输协议
  • 原文地址:https://www.cnblogs.com/stark-summer/p/4829749.html
Copyright © 2011-2022 走看看