在Glue开发端点上从SageMaker笔记本运行并发会话。

0

【以下的问题经过翻译处理】 客户创建了一个AWS Glue dev终端,并希望在同一个单独的Dev终端上并行运行两个Sagemaker笔记本,但它无法工作。

第一个被调用的仅能运行作业,而另一个失败。可能的原因和解决方法是什么?

profile picture
EXPERTE
gefragt vor 5 Monaten20 Aufrufe
1 Antwort
0

【以下的回答经过翻译处理】 SageMaker笔记本是使用SparkMagic模块连接到本地Livy设置的Jupyter笔记本。本地Livy通过SSH隧道连接到Glue Spark服务器上的Livy服务。Apache Livy绑定到端口8998,并且是一个可传递多个Spark会话命令的RESTful服务,因此不会发生多个端口绑定冲突。因此,只要后端集群有资源为这么多会话提供服务,就可以拥有多个会话。

您可以在笔记本中运行以下命令以检查Spark会话的默认值:

spark.sparkContext.getConf().getAll()

我在我的Spark会话中看到以下默认值。您可以轻松地从配置文件~/.sparkmagic/config.json或使用笔记本中的%%configure magic覆盖它们。

spark.executor.cores 4
spark.executor.memory 5g
spark.driver.memory 5g

请注意,spark.executor.instances未设置,spark.dynamicAllocation.enabled未覆盖,这意味着它为真,因此,如果一个笔记本中有要求苛刻的Spark作业,它可以占用集群中的所有资源并阻止其他Spark会话启动。当共享单个Glue Dev端点时,建议限制每个会话的执行者数量,以便多个会话可以从集群中获取资源,例如:

%%configure -f
{"executorMemory": "5G", "executorCores":4,"numExecutors":2}

(注:在单个SageMaker笔记本实例和多个SageMaker笔记本实例中测试过。)

profile picture
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen