【发布时间】:2015-08-09 08:19:24
【问题描述】:
我想在与 Spark Master 不同的主机上部署 Spark Job Server(在 Docker 容器中)。但是server_start.sh 脚本似乎假定它与 Spark Master 在同一台机器上运行。例如:
if [ -z "$SPARK_CONF_DIR" ]; then
SPARK_CONF_DIR=$SPARK_HOME/conf
fi
# Pull in other env vars in spark config, such as MESOS_NATIVE_LIBRARY
. $SPARK_CONF_DIR/spark-env.sh
在 Architecture 部分下显示:
作业服务器旨在作为一个或多个独立运行 进程,独立于 Spark 集群(尽管它很可能是 与Master同处一地)。
有谁知道如何使server_start.sh 脚本按原样与托管在与 Spark Job Server 不同的机器上的 Spark Master 一起工作?
【问题讨论】:
-
感谢@Alister Lee。这强化了 Spark Job Server理论上可以在 Spark Master 节点之外运行的想法,但它并没有告诉我 Job Server 的
server_start.sh脚本是否可以在这种情况下工作。目前看来我必须在与 Spark Job Server 相同的机器上安装 Spark,前提是后者可以在其类路径中包含 Spark 的 jar。 -
这些启动脚本旨在启动应担任这些角色的硬件节点上的主应用程序和工作程序应用程序。作业服务器运行 spark-submit 并获取(正在运行的)主服务器的 URL。启动 master 和提交作业是解耦的。
-
抱歉,我想我们说的是跨目的。我假设 Spark Cluster 已经启动,我根本不想碰它。我所指的 server_start.sh 脚本是针对 Spark Job Server 的,而不是针对 Spark 本身的。只是 server_start.sh 脚本似乎要求将 Spark 安装在与 Job Server 相同的机器上,即使这与您最终希望通过 Job Server 的 REST API 提交作业的 Spark 实例不同。
-
您链接到它,但我没有阅读它.. 抱歉不了解 Job Server。道歉!
标签: apache-spark docker spark-jobserver