带有Mesos的Spark:java.lang.UnsatisfiedLinkError:libsvn_delta-1.so.0:无法打开共享对象文件:没有这样的文件或目录

Gargravarr

我设置了一个具有1个主节点(192.168.2.1)和2个从属节点(192.168.2.2,192.168.2.3)的mesos群集。

而且我能够使用http://192.168.2.1:5050成功访问mesos,并且能够看到两个从属都注册为代理。然后,我在这3个节点上设置spark。

然后,我从/ usr / local / lib下载libmesos.so(libmesos-1.8.1.so)并将我的本地dev机器设置为

export MESOS_NATIVE_JAVA_LIBRARY=/mylocallibs/libmesos.so

当我尝试使用此SparkConfig连接到主服务器时

SparkConf sparkConf = new SparkConf()
      .setMaster("mesos://192.168.2.1:5050")
      .setAppName("My app")
      .set("spark.executor.uri", <http url to spark tgz>)
      .set("spark.submit.deployMode", "cluster");

我收到以下错误

java.lang.UnsatisfiedLinkError: libsvn_delta-1.so.0: cannot open shared object file: No such file or directory

我在这3个节点上设置Spark的方式如下:

# Download spark executable
wget http://www-us.apache.org/dist/spark/spark-2.4.3/spark-2.4.3-bin-hadoop2.7.tgz -O /opt/spark-2.4.3-bin-hadoop2.7.tgz

# Extract
cd /opt; tar xzf /opt/spark-2.4.3-bin-hadoop2.7.tgz

# Setup link for upgrades
ln -s /opt/spark-2.4.3-bin-hadoop2.7 /opt/spark

# Set spark_home
export SPARK_HOME=/opt/spark

cp $SPARK_HOME/conf/spark-env.sh.template $SPARK_HOME/conf/spark.env.sh

# Edit spark-env.sh and set variables
vi $SPARK_HOME/conf/spark-env.sh

export MESOS_NATIVE_JAVA_LIBRARY=/usr/local/lib/libmesos.so

export SPARK_EXECUTOR_URI=<http url to spark tgz>

cp $SPARK_HOME/conf/spark-defaults.conf.template $SPARK_HOME/conf/spark-defaults.conf

# Edit spark defaults and set variables
vi $SPARK_HOME/conf/spark-defaults.conf

export MESOS_NATIVE_JAVA_LIBRARY=/usr/local/lib/libmesos.so

export SPARK_EXECUTOR_URI=<http url to spark tgz>

我尝试在本地开发机上设置LD_LIBRARY_PATH

export LD_LIBRARY_PATH=/mylocallibs/

我下载了更高版本的libsvn_delta-1.so.0-> libsvn_delta-1.so.1并将其重命名为/ mylocallibs中的libsvn_delta-1.so.0,因为我被困了很长时间。

那只是开始了一系列其他未饱和的库文件。

我有没有在这里错过任何明显的东西?

拉姆·加迪亚拉姆

库已由您的应用程序加载,并且应用程序尝试再次加载它,UnsatisfiedLinkErrorJVM将抛出该库

由于您使用的是群集模式,因此您可能需要先通过--files选项发送库文件,然后再访问它..或将lib文件夹复制到hdfs,并尝试以可从hdfs读取的群集模式从hdfs进行访问看到这个

在群集模式下,驱动程序在执行程序节点之一中运行,它无法识别您的本地路径。

以确保它正在工作,将部署模式更改为客户端以查看其是否工作。

或看到此问题,此处已解决类似问题。看一看。

安装libcurl4-nss-dev可解决此问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章