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参数,如下:

上面的路径就是拷贝libsnappyjava.dylib所在的路径了,所以上面拷贝这个文件到/usr/local/lib这个路径不一定一定要是这个路径;

其配置如下:

-Djava.library.path=/usr/local/lib

再次运行程序,发现程序可以正常运行;如下:

分享,成长,快乐

http://blog.csdn.net/fansy1990

发布了29 篇原创文章 · 获赞 15 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/han_han_1/article/details/87868497