【发布时间】:2019-08-12 19:03:37
【问题描述】:
我设置了一个包含 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) 并将我的本地开发机器设置为
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,因为我被困了很长时间。
这只是开始了一系列其他不满意的库文件。
我在这里遗漏了什么明显的东西吗?
【问题讨论】:
标签: apache-spark mesos mesosphere