【问题标题】:How to run Spark on mesos in standalone mode如何以独立模式在 mesos 上运行 Spark
【发布时间】:2018-02-27 20:58:13
【问题描述】:

我已经在本地安装了 mesos,并按照 mesos 设置中的说明进行了配置。现在我想在本地机器上安装的 mesos 上运行 spark。我已经根据官方文档配置了 spark 并且在我的本地机器上运行了单节点 hadoop 集群。将 Spark 二进制包复制到 hdfs 根目录,我在 spark-env.sh 中设置了以下属性:

export MESOS_NATIVE_JAVA_LIBRARY=/usr/local/lib/libmesos.so
export SPARK_EXECUTOR_URI=hdfs://spark-2.2.0-bin-hadoop2.7.tgz

并且是 spark-defaults.conf :

spark.executor.uri         hdfs://spark-2.2.0-bin-hadoop2.7.tgz

并运行火花:

/bin/spark-shell --master mesos://host:5050

出现以下错误:

ERROR SparkContext: Error initializing SparkContext.
org.apache.spark.SparkException: Could not parse Master URL: 'mesos://host:5050'

请指导我做错了什么以及如何纠正它。

【问题讨论】:

  • 你见过this answer吗?
  • 感谢您的建议。我已经尝试过提到的解决方案,但它仍然不起作用。它给出以下错误:错误 MesosCoarseGrainedSchedulerBackend:Mesos 错误:无法为“主机:5050”创建主检测器:无法解析“主机:5050”线程“MesosCoarseGrainedSchedulerBackend-mesos-driver”中的异常 org.apache.spark.SparkException :由于集群调度程序错误而退出:无法为“主机:5050”创建主检测器:无法解析“主机:5050”
  • 你能从 spark 主机连接吗?试试nc host 5050 < /dev/null
  • 在尝试“nc host 5050 /null”时出现此错误:nc: getaddrinfo: Name or service not known
  • 你能用IP代替吗?可能是 DNS 的问题?

标签: apache-spark mesos


【解决方案1】:

我已经在 Mesos 上成功安装了 Apache Spark。请在您的 Ubuntu 机器上按照以下步骤操作。

# Update the packages.
$ sudo apt-get update

# Install a few utility tools.
$ sudo apt-get install -y tar wget git

# Install the latest OpenJDK.
$ sudo apt-get install -y openjdk-8-jdk

# Install autotools (Only necessary if building from git repository).
$ sudo apt-get install -y autoconf libtool

# Install other Mesos dependencies.
$ sudo apt-get -y install build-essential python-dev python-six python-virtualenv libcurl4-nss-dev libsasl2-dev libsasl2-modules maven libapr1-dev libsvn-dev

# Change working directory.
$ cd mesos

#If getting error "libz is required to build mesos"
$sudo apt install zlib1g-dev

# Configure and build.
$ mkdir build
$ cd build
build$../configure
$ make
$ make check
$ make install

$ cd build
#start master
./bin/mesos-master.sh --ip=127.0.0.1 --work_dir=/tmp/mesos
#start slave
./bin/mesos-slave.sh --master=127.0.0.1:5050 --work_dir=/tmp/mesos 

#If facing permission issue
./bin/mesos-slave.sh --master=127.0.0.1:5050 --work_dir=/tmp/mesos --no-systemd_enable_support

#Configuring Spark with Mesos

build spark with mesos support
./build/mvn -Pmesos -DskipTests clean package

In spark-env.sh
export MESOS_NATIVE_JAVA_LIBRARY= /usr/local/lib/libmesos.so
export SPARK_EXECUTOR_URI=/localpath/to/spark-2.2.0-bin-hadoop2.7.tgz

In spark-defaults.conf
spark.executor.uri         /localpath/to/spark-2.2.0-bin-hadoop2.7.tgz

run spark shell
./bin/spark-shell --master mesos://127.0.0.1:5050

#Mesos UI
http://127.0.0.1:5050

【讨论】:

    猜你喜欢
    • 2014-01-23
    • 1970-01-01
    • 2023-03-26
    • 2015-03-25
    • 1970-01-01
    • 1970-01-01
    • 2017-11-29
    • 2015-02-01
    • 2012-05-09
    相关资源
    最近更新 更多