我想对无法打开 Jupyter 的 Amazon SageMaker 人工智能 Notebook 实例进行故障排除。
解决方法
要对无法打开 Jupyter 的 SageMaker 人工智能 Notebook 实例进行故障排除,请执行以下操作:
- 在 SageMaker 人工智能控制台上,确认 Notebook 实例的状态是否为 InService。如果状态为 Pending(待处理),则表示 Notebook 实例尚未就绪。
- 清除您的浏览器缓存。或者,使用其他浏览器访问 Jupyter Notebook。
- 在不使用浏览器扩展的情况下访问 Jupyter Notebook。代理配置可能会导致您的 Jupyter Notebook 无法打开。
- 切换到不同的网络环境。如果您曾尝试通过组织网络打开 Jupyter,请尝试使用您的家庭网络。
- 检查是否存在阻止访问的防火墙。本地计算机上的代理或防病毒软件可能会阻止 WebSocket 连接。
- 检查浏览器的网络日志中是否存在任何 WebSocket 连接错误。要查看日志,请使用浏览器的开发者模式。
- 检查 Jupyter 日志中是否存在错误。
如果您仍然无法打开 Jupyter Notebook,请重新启动 Notebook 实例。此操作会导致 SageMaker 人工智能 Notebook 实例替换底层 Amazon Elastic Compute Cloud (Amazon EC2) 实例。最佳做法是定期重启您的 Notebook 实例,以使软件保持更新状态。此外,Notebook 实例会转换到一个新主机,这可能有助于解决 HTTP 503 和 504 浏览器错误。
注意:****/home/ec2-user/SageMaker 文件系统是 Notebook 实例上唯一的持久性存储。当您重启实例时,将丢失所有其他数据。
要重启 SageMaker 人工智能 Notebook 实例,请完成以下步骤:
- 打开 SageMaker 人工智能控制台。
- 在导航窗格中,选择 Notebook instances(Notebook 实例)。
- 选择要重启的 Notebook 实例。
- 在 Actions(操作)下拉列表中,选择 Stop(停止)。
- 在 Notebook 实例达到 Stopped(已停止)状态后,在 Actions(操作)下拉列表中选择 Start(启动)。
- 打开 Notebook 实例 URL。
对 Notebook 实例过载问题进行故障排除
执行以下操作,以解决 Notebook 实例过载问题。
打开的会话过多
如果您的活动会话和 Notebook 过多,则 Notebook 的加载时间将变长,且可能会在浏览器中发生超时。要查看打开的会话,请查看 Jupyter 控制面板上的 Running(正在运行)选项卡。然后,关闭不必要的 Notebook 或打开的终端会话。
CPU 或内存利用率较高
要检查您的 CPU 或内存利用率,请完成以下步骤:
-
打开 Jupyter 控制面板,然后选择 Files(文件)选项卡。
-
选择 New(新建),然后选择 Terminal(终端)。
-
检查您的内存利用率:
$ free -h
-
检查您的 CPU 利用率:
$ top
如果您的 CPU 或内存利用率很高,且您无法释放更多资源,请完成以下步骤,以切换到更大的 Notebook 实例:
- 停止 Notebook 实例。
- 选择 Actions(操作)下拉列表,然后选择 Update settings(更新设置)。
- 选择新的 Notebook 实例类型,然后选择 Save(保存)。
**注意:**有关每个 AWS 区域中可用的实例类型的列表,请参阅 Amazon SageMaker 人工智能定价。
- 在 Actions(操作)下拉列表中,选择 Start(启动)。
- 打开 Notebook 实例 URL。
磁盘利用率较高
要检查您的磁盘利用率,请完成以下步骤:
-
打开 Jupyter 控制面板,然后选择 Files(文件)选项卡。
-
选择 New(新建),然后选择 Terminal(终端)。
-
启动 SSH 会话,然后检查您的磁盘利用率:
$ df -h
-
检查文件系统 /home/ec2-user/SageMaker 的磁盘利用率。
如果磁盘利用率很高,请从 /home/ec2-user/SageMaker 目录中删除临时文件。
或者,完成以下步骤以增加 Amazon Elastic Block Store (Amazon EBS) 卷的大小:
- 停止 Notebook 实例。
- 在 Actions(操作)下拉列表中,选择 Update settings(更新设置)。
- 输入新的卷大小,然后选择 Save(保存)。
**注意:**默认的 Amazon EBS 卷大小为 5 GB。您可以将卷大小增加到 16 TB。
- 在 Actions(操作)下拉列表中,选择 Start(启动)。
- 打开 Notebook 实例 URL。
在附加生命周期脚本后,您收到一个错误
以下场景可能会导致生命周期脚本问题。
生命周期脚本运行时间超过 5 分钟
在生命周期配置脚本运行之前,Notebook 最多会等待 5 分钟。如果您在启动 Notebook 时安装软件包,则安装过程可能会超过 5 分钟。要解决此问题,请运行 nohup 命令以允许生命周期脚本在后台运行。
命令示例:
===
#!/bin/bash
set -e
nohup pip install xgboost &
=====
**注意:**安装库时,脚本将停止运行。要检查脚本是否仍在运行,请运行 ps 命令。
生命周期脚本运行失败,错误代码为 127
当您在 Windows 中编辑脚本,并编辑了额外的 Windows 换行符 (CRLF) 时,将会出现此错误。当您在 Windows 中创建脚本,然后将这些脚本复制到 Unix 环境中时,也会出现此错误。Windows 和 Unix 系统使用不同的符号来表示换行符。要解决此问题,请将文本编辑器设置为使用 Unix 格式创建文件。
例如,在 Notepad++ 中,您可以在屏幕的右下角找到文档格式。默认情况下,格式设置为 Dos\Windows。您可以在 Notepad++ 设置中将格式更改为 Unix。或者,从 Edit(编辑)菜单中将 EOL 字符转换为 Unix 格式。