1.so.0:无法打开共享对象文件:没有这样的文件或目录

des4xlb0  于 2021-06-26  发布在  Mesos
关注(0)|答案(1)|浏览(548)

我设置了一个mesos集群,其中有1个主集群(192.168.2.1)和2个从集群(192.168.2.2、192.168.2.3)。
我可以用http://192.168.2.1:5050我可以看到两个奴隶都注册为特工。然后在这3个节点上设置spark。
然后我从/usr/local/lib下载了libmesos.so(libmesos-1.8.1.so),并将我的本地开发机器设置为

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\u library\u路径

export LD_LIBRARY_PATH=/mylocallibs/

我下载了libsvn_delta-1.so.0->libsvn_delta-1.so.1的更新版本,并将其重命名为libsvn_delta-1.so.0 in/mylocallibs,只是为了继续,因为我被困了很长时间。
这只会导致一系列其他库文件未被保存。
我有没有漏掉什么明显的东西?

mctunoxg

mctunoxg1#

库已由应用程序加载,并且应用程序尝试再次加载,则 UnsatisfiedLinkError 将由jvm抛出
由于您使用的是群集模式,因此可能需要通过 --files 在访问它之前。。或者将lib文件夹复制到hdfs,并尝试以集群模式从hdfs访问它可以从hdfs读取的文件。看到这个了吗
在集群模式下,驱动程序在其中一个executor节点上运行,它无法识别您的本地路径。
为了确保它正在工作,请将deploymode更改为client,以查看它是否工作。
或者看到这个,类似的问题在这里被修正了。看看那个。
安装libcurl4 nss dev可以修复此问题。

相关问题