hadoop 运行Spark作业时出错,因为缺少本机文件

iyzzxitl  于 2022-11-01  发布在  Hadoop
关注(0)|答案(1)|浏览(279)

我在运行Spark提交作业时遇到此错误java.lang.RuntimeException: native snappy library not available: this version of libhadoop was built without snappy support.
我所做的是将libhadoop.solibsnappy.so复制到java/java-1.8.0-openjdk-1.8.0.212.b04-0.e11_10.x86_64/jre/lib/amd64/中,然后进程一直运行,没有任何问题。找到了解决方案here
在我复制之前,我添加了--driver-library-path /usr/hdp/current/hadoop-client/lib/native/作为提交作业的一部分,但没有工作,我还试图将其添加到HADOOP_OPTS,都是徒劳的。
有没有人能解释一下把它复制到java amd64文件夹是如何让事情正常工作的?

v1uwarro

v1uwarro1#

执行程序需要本地库,而不是Spark驱动程序,这可以解释为什么--driver-library-path不能工作。
目前还不清楚如何/在何处设置HADOOP_OPTS,但可能是类似的问题。
您的解决方案之所以有效,是因为您现在让每个Java进程都可以访问这些文件,而不仅仅是Hadoop/Spark进程。

相关问题