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
再次運行程序,發現程序可以正常運行;如下:

分享,成長,快樂

轉載請註明blog地址:http://blog.csdn.net/fansy1990
--------------------- 
作者:fansy1990 
來源:CSDN 
原文:https://blog.csdn.net/fansy1990/article/details/53954347 
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章