我的 Amazon SageMaker 笔记本实例停滞于待处理状态,然后失败

上次更新时间:2020 年 9 月 24 日

当我创建或启动 Amazon SageMaker 笔记本实例时,该实例进入待处理状态。笔记本实例似乎停滞在此状态,然后失败。

简短描述

Pending(待处理)状态表示 SageMaker 正在创建笔记本实例。如果创建过程中的任何步骤失败,SageMaker 将尝试再次创建笔记本。这就是笔记本停留在 Pending(待处理)状态的时间超过预期的原因。如果 SageMaker 仍然无法创建笔记本实例,则状态最终变为 Failed(失败)。

解决方法

确认失败原因

请检查 DescribeNotebookInstance API 中的 FailureReason 响应。您还可以在 SageMaker 控制台上找到失败原因:

  • 要查看显示失败原因缩短版本的弹出窗口,请在 Status(状态)列中暂停在 Failed(失败)。
  • 要查看完整故障原因,请选择笔记本实例的名称。失败原因出现在 Notebook instance settings(笔记本实例设置)区域顶部。

使用失败原因对根本原因进行故障排查。

常见错误

"fatal: unable to access 'https://github.com/aws-samples/amazon-sagemaker-notebook-instance-lifecycle-config-samples/': Failed to connect to github.com port 443: Connection timed out"

当笔记本实例的网络配置不支持外部 Git 存储库的域名或连接时,将会发生此错误。

重要提示:部署在虚拟私有云 (VPC) 中的笔记本实例不会自动继承自定义路由表,例如 VPC 对等连接的子网路由表。如果需要自定义路由表,请创建在启动时添加路由的生命周期配置脚本。有关更多信息,请参阅了解 Amazon SageMaker 笔记本实例网络配置和高级路由选项

要确认 Git 连接有效并且您可以从笔记本实例连接到存储库,请创建一个没有关联 Git 存储库的新笔记本实例。然后,打开 Jupyter 控制台,并使用终端会话运行以下命令:

1.    解析服务器的主机名:

dig repo_hostname

如果输出的答案部分为空,则笔记本无法解析主机名。

2.    如果输出的答案部分包含响应,则域名解析正常工作。然后,您可以运行以下命令来测试至主机名的连接:

nc repo_hostname 443

3.    如果连接被拒绝或超时,请验证 VPC 安全组规则路由表。如果连接成功,请使用 git 命令测试您的凭据:

git pull https://your-git-repo-url

“Lifecycle Configuration failed”(生命周期配置失败)

如果生命周期配置脚本运行的时间超过 5 分钟,它将失败,而且将不会创建或启动笔记本实例。关于如何缩短脚本运行时间的建议,请参阅使用生命周期配置脚本自定义笔记本实例。要排查脚本的问题,请检查 Amazon CloudWatch logs 以了解生命周期配置:

  • 日志组:/aws/sagemaker/NotebookInstances
  • 日志流:notebook-instance-name/LifecycleConfigOnStartnotebook-instance-name/LifecycleConfigOnCreate

“This Notebook Instance type 'ml.m4.xlarge' is temporarily unavailable.(此笔记本实例类型 ml.m4.xlarge 暂时不可用。)We apologize for the inconvenience.(给您带来不便,我们深表歉意。)Please try again in a few minutes, or try a different instance type.(请在几分钟后重试,或尝试其他实例类型。)”

当 Amazon Elastic Compute Cloud (Amazon EC2) 没有足够的可用容量用于您选择的实例类型时,将会发生此错误。容量根据当时该区域对该实例类型的需求而异。稍后再次尝试请求,以了解容量水平是否变化。或者,选择不同的实例类型。

HTTP 500 内部错误

HTTP 500 错误表示创建笔记本实例时发生了意外错误。要排除暂时性问题,请尝试再次创建该笔记本实例。


这篇文章对您有帮助吗?


您是否需要账单或技术支持?