首页 > 其他 > 详细

spark加载hadoop本地库的时候出现不能加载的情况要怎么解决呢?

时间:2015-08-13 08:50:02      阅读:266      评论:0      收藏:0      [点我收藏+]

hadoop shell运行的时候不会报这个错误,因为我已经重新在64位机上编译了源文件,并把so文件复制到hadoop的native目录下,而且环境变量也设置正确了,所以hadoop本身没有问题。

但在启动spark相关的shell时就会报这个问题。

经过查找,发现知乎上有人问了这个问题,我尝试照回答操作了,问题解决。

主要是jre目录下缺少了libhadoop.so和libsnappy.so两个文件。具体是,spark-shell依赖的是scala,scala 依赖的是JAVA_HOME下的jdk,libhadoop.so和libsnappy.so两个文件应该放到$JAVA_HOME/jre/lib /amd64下面。
这两个so:libhadoop.so和libsnappy.so。前一个so可以在HADOOP_HOME下找到,如 hadoop\lib\native。第二个libsnappy.so需要下载一个snappy-1.1.0.tar.gz,然后./configure,make编译出来,编译成功之后在.libs文件夹下。
当这两个文件准备好后再次启动spark shell不会出现这个问题。

还找到另外一个解决方案是:

ld_library_path spark 设置这个环境变量,应该可以起到同样的效果。我暂时没有尝试。

我暂时只把libhadoop.so复制过去了,没有弄libsnappy.so可能是没有用到的缘故,也没有再报错。

spark加载hadoop本地库的时候出现不能加载的情况要怎么解决呢?

原文:http://www.cnblogs.com/huaxiaoyao/p/4726062.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!