无法运行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.
答案 0 :(得分:0)
所以我在AWS帐户中的现有SageMaker Notebook上也遇到了同样的问题。
自几周前我第一次创建笔记本以来,笔记本的状态一直为“就绪”。
从根本上停止并重新启动它可以解决问题。
答案 1 :(得分:0)
几个小时前我在学习 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 标志 设置为低于默认值的值。