MAC Spark no snappyjava in java.library.path
Posted fansy1990
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MAC Spark no snappyjava in java.library.path相关的知识,希望对你有一定的参考价值。
软件版本:
Mac:10.12.1,Spark:1.6.0-cdh5.7.3,JDK:1.7.0_79 ; IDEA:14;
问题描述:
在Mac上运行Spark程序时(采用local 生成SparkContext的方式,具体参考:https://github.com/fansy1990/Spark_MLlib_Algorithm_1.6.0/blob/master/src/test/scala/com/fz/classification/SVMTest.scala),提示如下错误:
这个错误网上查,StackOverFlow上的一些帖子好像说是Mac上面的JDK1.7的版本有点问题,代码是lz实验的一种解决方案;
解决方案:
1. 确认Spark使用的snappy版本,由于我的项目是maven的,所以直接查看其依赖即可,如下:
2. 查看版本后,在本地maven库中找到这个jar包,如下:

然后解压这个jar包 :
unzip snappy-java-1.0.4.1.jar
接着,在本地目录就会有一个org目录了,去下面找到:

3.复制文件 网上有说把文件拷贝到/usr/lib下面,不过我mac上使用sudo也拷贝不了,当然也有说拷贝到/usr/local/lib下面的,有些人这个目录是系统目录,不过我的不是,而且其实我的压根就没有这个目录; 不过,我仍然是把libsnappyjava.jnilib拷贝到了/usr/local/lib下面,接下来是重命名,需要把这个文件命名为libsnappyjava.dylib ;
4. 配置idea 上面吧libsnappyjava.jnilib拷贝到/usr/local/lib下面后,再重命名到libsnappyjava.dylib下面还是不行的,直接运行idea还是会报错,所以还需要配置下idea,我的配置方式是: 如果要运行某个类,那么添加其vm参数,如下:

-Djava.library.path=/usr/local/lib
再次运行程序,发现程序可以正常运行;如下:

分享,成长,快乐
转载请注明blog地址:http://blog.csdn.net/fansy1990


以上是关于MAC Spark no snappyjava in java.library.path的主要内容,如果未能解决你的问题,请参考以下文章