gpt4 book ai didi

apache-spark - Spark 2.0 独立模式动态资源分配工作线程启动错误

转载 作者:行者123 更新时间:2023-12-04 04:23:19 25 4
gpt4 key购买 nike

我在独立模式下运行 Spark 2.0,成功将其配置为在服务器上启动,并且还能够将 Ipython Kernel PySpark 配置为 Jupyter Notebook 的选项。一切正常,但我面临的问题是,对于我启动的每个 Notebook,我的所有 4 个工作人员都分配给该应用程序。因此,如果我团队中的另一个人尝试使用 PySpark 内核启动另一个 Notebook,那么在我停止第一个 Notebook 并释放所有 worker 之前,它根本不起作用。

为了解决这个问题,我试图按照 Spark 2.0 Documentation 中的说明进行操作。 .
所以,在我的 $SPARK_HOME/conf/spark-defaults.conf 上我有以下几行:

spark.dynamicAllocation.enabled    true
spark.shuffle.service.enabled true
spark.dynamicAllocation.executorIdleTimeout 10

此外,在 $SPARK_HOME/conf/spark-env.sh我有:
export SPARK_WORKER_MEMORY=1g
export SPARK_EXECUTOR_MEMORY=512m
export SPARK_WORKER_INSTANCES=4
export SPARK_WORKER_CORES=1

但是当我尝试启动 worker 时,使用 $SPARK_HOME/sbin/start-slaves.sh ,只有第一个worker成功启动。来自第一个 worker 的日志最终是这样的:

16/11/24 13:32:06 INFO Worker: Successfully registered with master spark://cerberus:7077



但是来自 worker 2-4 的日志向我显示了这个错误:

INFO ExternalShuffleService: Starting shuffle service on port 7337 with useSasl = false 16/11/24 13:32:08 ERROR Inbox: Ignoring error java.net.BindException: Address already in use



似乎(对我而言)第一个工作人员在端口 7337 成功启动了 shuffle-service,但工作人员 2-4 对此“不知道”并尝试在同一端口上启动另一个 shuffle-service。

如果我首先启动 shuffle-service(使用 $SPARK_HOME/sbin/start-shuffle-service.sh )然后尝试启动所有 worker ( $SPARK_HOME/sbin/start-slaves.sh ),所有 worker (1-4)也会出现问题。

有没有办法解决这个问题?为了能够让所有工作人员验证是否有一个 shuffle 服务正在运行并连接到它而不是尝试创建一个新服务?

最佳答案

我遇到了同样的问题,似乎通过从配置文件中删除 spark.shuffle.service.enabled 项目来使其工作(实际上我在那里没有任何与 dynamicAllocation 相关的项目),而是将它放在 SparkConf 中我请求一个 SparkContext:

sconf = pyspark.SparkConf() \
.setAppName("sc1") \
.set("spark.dynamicAllocation.enabled", "true") \
.set("spark.shuffle.service.enabled", "true")
sc1 = pyspark.SparkContext(conf=sconf)

我像往常一样启动主从:
$SPARK_HOME/sbin/start-all.sh

我必须启动 shuffler-service 的一个实例:
$SPARK_HOME/sbin/start-shuffle-service.sh

然后我用这个上下文开始了两个笔记本,让它们都做一个小工作。第一个笔记本的应用程序完成工作并处于 RUNNING 状态,第二个笔记本的应用程序处于 WAITING 状态。一分钟后(默认空闲超时),资源被重新分配,第二个上下文开始完成它的工作(并且都处于 RUNNING 状态)。

希望这可以帮助,
约翰

关于apache-spark - Spark 2.0 独立模式动态资源分配工作线程启动错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40788138/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com