排查 Amazon SageMaker Studio 问题 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

排查 Amazon SageMaker Studio 问题

本主题介绍如何在设置和使用过程中排查常见的 Amazon SageMaker Studio 问题。以下是使用 Amazon SageMaker Studio 时可能出现的常见错误。每个错误都有相应的解决方案。

Studio 应用程序问题

启动和使用 Studio 应用程序时会出现以下问题。

  • 屏幕未加载:清除工作区并等待也无济于事

    启动 Studio 应用程序时,弹出窗口会显示以下信息。无论选择哪个选项,Studio 都无法加载。

    Loading... The loading screen is taking a long time. Would you like to clear the workspace or keep waiting?

    如果在 Studio 工作区中打开了多个选项卡或者在 Amazon EFS 上有多个文件,Studio 应用程序的启动可能会延迟。此弹出窗口应该会在 Studio 工作区准备就绪后的几秒钟内消失。

    如果您在选择任一选项后仍然看到带有旋转标志的加载屏幕,则说明可能存在与 Studio 使用的 Amazon Virtual Private Cloud 的连接问题。 

    要解决与 Studio 使用的 Amazon Virtual Private Cloud (Amazon VPC) 的连接问题,请验证以下联网配置:

    • 如果您的域是以 VpcOnly 模式设置的:验证是否有用于 Amazon STS 的 Amazon VPC 端点,或用于出站流量(包括互联网流量)的 NAT 网关。为此,请按照 将 VPC 中的 SageMaker Studio 笔记本连接到外部资源 中的步骤操作。

    • 如果您的 Amazon VPC 是使用自定义 DNS 而不是 Amazon 提供的 DNS 设置的:验证是否使用动态主机配置协议 (DHCP) 为添加到 Studio 使用的 Amazon VPC 的每个 Amazon VPC 端点配置了路由。有关设置默认和自定义的 DHCP 选项集的更多信息,请参阅 Amazon VPC 中的 DHCP 选项集

  • 启动 Studio 时发生内部失败

    启动 Studio 时,无法查看 Studio UI。您还会看到类似于以下内容的错误,错误详细信息是内部失败

    Amazon SageMaker Studio The JupyterServer app default encountered a problem and was stopped.

    这种错误可能由多种因素造成。如果完成这些步骤仍不能解决您的问题,请在 https://aws.amazon.com/premiumsupport/ 上创建一个问题。 

    • 缺少 Amazon EFS 挂载目标:Studio 使用 Amazon EFS 进行存储。Amazon EFS 卷需要为在其中创建 Amazon SageMaker 域的每个子网设置一个挂载目标。如果此 Amazon EFS 挂载目标被意外删除,那么 Studio 应用程序将无法加载,因为它无法挂载用户的文件目录。要解决这个问题,请完成以下步骤。

      验证或创建挂载目标。
      1. 使用 DescribeDomain API 调用查找与域关联的 Amazon EFS 卷。 

      2. 通过 https://console.aws.amazon.com/efs/ 登录Amazon Web Services Management Console并打开 Amazon EFS 控制台。

      3. 从 Amazon EFS 卷列表中,选择与域关联的 Amazon EFS 卷。

      4. 在 Amazon EFS 详细信息页面上,选择网络选项卡。确认在其中设置域的所有子网都有挂载目标。

      5. 如果缺少挂载目标,请添加缺失的 Amazon EFS 挂载目标。有关说明,请参阅创建并管理挂载目标和安全组

      6. 创建缺失的挂载目标后,启动 Studio 应用程序。

    • 用户的 .local 文件夹中的文件冲突:如果您在 Studio 上使用 JupyterLab 版本 1,则 .local 文件夹中的库冲突可能会导致启动 Studio 应用程序时出现问题。要解决这个问题,请将用户配置文件的默认 JupyterLab 版本更新为 JupyterLab 3.0。有关查看和更新 JupyterLab 版本的更多信息,请参阅 JupyterLab 版本控制

  • 启动 Studio 时出现 ConfigurationError: LifecycleConfig

    启动 Studio 时无法查看 Studio UI。这是由于附加到域的默认生命周期配置脚本存在问题造成的。

    解决生命周期配置问题
    1. 查看 Amazon CloudWatch Logs 中的生命周期配置,跟踪导致失败的命令。要查看日志,请按照 从 CloudWatch Logs 验证生命周期配置流程 中的步骤操作。

    2. 从用户配置文件或域中分离默认脚本。有关更多信息,请参阅 更新和分离生命周期配置

    3. 启动 Studio 应用程序。

    4. 调试生命周期配置脚本。您可以从系统终端运行生命周期配置脚本以排查问题。从终端成功运行脚本后,可以将脚本附加到用户配置文件或域。

  • SageMaker Studio 的核心功能不可用。

    如果您在打开 Studio 时收到此错误消息,可能是由于 Python 软件包版本冲突造成的。如果您在笔记本或终端中使用以下命令来安装版本与 SageMaker 软件包依赖项有冲突的 Python 软件包,则会发生这种情况。

    !pip install
    pip install --user

    要解决这个问题,请完成以下步骤:

    1. 卸载最近安装的 Python 软件包。如果您不确定要卸载哪个软件包,请在 https://aws.amazon.com/premiumsupport/ 上创建一个问题。 

    2. 重启 Studio:

      1. 文件菜单中关闭 Studio。

      2. 等待一分钟。

      3. 刷新页面或从Amazon Web Services Management Console中打开 Studio,即可重新打开 Studio。

    如果您卸载了导致冲突的软件包,则该问题应得到解决。要在不再次导致此问题的情况下安装软件包,请使用不带 --user 标志的 %pip install

    如果问题仍然存在,请创建新的用户配置文件并使用该用户配置文件设置环境。

    如果这些解决方案无法解决问题,请在 https://aws.amazon.com/premiumsupport/ 上创建一个问题。 

  • 无法从Amazon Web Services Management Console中打开 Studio。

    如果您无法打开 Studio,也无法使用所有默认设置创建一个新的运行实例,请在 https://aws.amazon.com/premiumsupport/ 上创建一个问题。 

KernelGateway 应用程序问题

以下问题是在 Studio 中启动的 KernelGateway 应用程序所特有的。

  • 无法访问内核会话

    当用户启动新的笔记本时,他们无法连接到笔记本会话。如果 KernelGateway 应用程序的状态为 In Service,您可以验证以下内容以解决问题。

    • 检查安全组配置

      如果域是以 VPCOnly 模式设置的,则与该域关联的安全组必须允许范围 8192-65535 内的端口之间的流量,以便在 JupyterServer 和 KernelGateway 应用程序之间建立连接。

      验证安全组规则
      1. 使用 DescribeDomain API 调用获取与域关联的安全组。

      2. 通过 https://console.aws.amazon.com/vpc/ 登录到Amazon Web Services Management Console并打开 Amazon VPC 控制台。

      3. 在左侧导航栏的安全下选择安全组

      4. 根据与域相关联的安全组 ID 进行筛选。

      5. 对于每个安全组:

        1. 选择安全组。

        2. 在安全组详细信息页面上,查看入站规则。验证范围 8192-65535 内的端口之间是否允许流量。

      有关安全组规则的更多信息,请参阅使用安全组控制资源流量。有关在 VPCOnly 模式下使用 Studio 的要求的更多信息,请参阅 将 VPC 中的 SageMaker Studio 笔记本连接到外部资源

    • 验证防火墙和 WebSocket 连接

      如果 KernelGateway 应用程序处于 InService 状态并且用户无法连接到 Studio 笔记本会话,请验证防火墙和 WebSocket 设置。

      1. 启动 Studio 应用程序。有关更多信息,请参阅 启动 Amazon SageMaker Studio

      2. 打开 Web 浏览器的开发工具。

      3. 选择网络选项卡。

      4. 搜索符合以下格式的条目。

        wss://<domain-id>.studio.<region>.sagemaker.aws/jupyter/default/api/kernels/<unique-code>/channels?session_id=<unique-code>

        如果条目的状态或响应代码不是 101,则说明网络设置阻止 Studio 应用程序与 KernelGateway 应用程序之间的连接。

        要解决这个问题,请联系管理联网设置的团队,允许列出 Studio URL 并启用 WebSocket 连接。 

  • 由于超过资源限额而无法启动应用程序

    当用户尝试启动新笔记本时,笔记本创建失败,并出现以下任一错误。这是由于超出资源限额造成的。

    • Unable to start more Apps of AppType [KernelGateway] and ResourceSpec(instanceType=[]) for UserProfile []. Please delete an App with a matching AppType and ResourceSpec, then try again

      Studio 支持在同一实例中最多运行四个 KernelGateway 应用程序。要解决这个问题,您可以执行以下任一操作:

      • 删除在实例上运行的现有 KernelGateway 应用程序,然后重启新笔记本。

      • 在不同的实例类型上启动新笔记本

      有关更多信息,请参阅更改实例类型

    • An error occurred (ResourceLimitExceeded) when calling the CreateApp operation

      在本例中,该账户没有足够的限额,无法在指定的实例类型上创建 Studio 应用程序。要解决这个问题,请通过 https://console.aws.amazon.com/servicequotas/ 导航到 Service Quotas 控制台。在该控制台中,请求增加 Studio KernelGateway Apps running on instance-type instance 限额。有关更多信息,请参阅Amazon 服务限额