【问题标题】:AWS Glue Spark Sagemaker Notebook is failingAWS Glue Spark Sagemaker Notebook 失败
【发布时间】:2020-02-19 09:05:43
【问题描述】:

无法运行 AWS Glue Sagemaker Notebook,它在启动时抛出错误。如果我在这里遗漏了什么,谁能告诉我?

PS:按照错误日志中的建议,我重新启动了几次内核,但没有帮助。

import sys
from awsglue.transforms import *
from awsglue.utils import getResolvedOptions
from pyspark.context import SparkContext
from awsglue.context import GlueContext
from awsglue.job import Job

glueContext = GlueContext(SparkContext.getOrCreate())

错误

The code failed because of a fatal error:
    Error sending http request and maximum retry encountered..

Some things to try:
a) Make sure Spark has enough available resources for Jupyter to create a Spark context.
b) Contact your Jupyter administrator to make sure the Spark magics library is configured correctly.
c) Restart the kernel.

【问题讨论】:

  • 您好 Nagaraju Budigam,您能否提供重现此问题的步骤?您是否为此设置关注了任何博客文章?谢谢!
  • 我也遇到了这个问题,请问您找到解决方法了吗?

标签: python apache-spark pyspark amazon-sagemaker


【解决方案1】:

因此,我在 AWS 账户中的现有 SageMaker Notebook 上遇到了完全相同的问题。

自从几周前我第一次创建笔记本后,它的状态就一直处于“就绪”状态。

实际上停止并重新启动它会使问题消失。

【讨论】:

  • 这应该是一条评论
  • 为什么会这样?它没有为同一问题提供潜在的解决方案吗?
  • 重启笔记本并没有解决这个问题
【解决方案2】:

几个小时前我在关注this 教程时遇到了同样的问题。

找到解决方案here

如果您使用的是 docker 容器,只需运行以下命令:

docker run -itd -p 8888:8888 -p 4040:4040 -v ~/.aws:/root/.aws:ro --name glue_jupyter --ulimit nofile=122880:122880 -m 3G amazon/aws-glue-libs:glue_libs_1.0.0_image_01 /home/jupyter/jupyter_start.sh

解释

Docker ulimits 限制程序的资源利用率,以防止失控的错误或安全漏洞导致整个系统崩溃

发生的情况是容器最终使用了超出应有的资源,因此内存不足。

我怎么知道这是问题所在?

尝试从容器内部运行 spark 的 cli,并检查是否出现如下错误消息:

无法分配文件描述符表 - 内存不足

在我的案例中发生的情况是,我在 ArchLinux 中使用了来自 AUR 的 docker 预编译包,其中 ulimit 标志 设置为低于默认值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-28
    • 1970-01-01
    • 1970-01-01
    • 2021-08-13
    • 2019-12-30
    • 2018-01-30
    • 1970-01-01
    相关资源
    最近更新 更多