以下为您在使用 ArcGIS Notebook Server 时可能遇到的问题以及解决方案。 如果未能在本主题中找到您要查找的问题,也可以访问 Esri 技术支持中心网站以搜索相关文章。
安装
访问笔记本
笔记本
- 在通过 Windows 容器使用 ArcGIS Notebook Server 的情况下,当我在笔记本编辑器中运行的两个或更多笔记本导入 torch 库或使用 Torch 作为依赖项的 Python 库时,除了运行的第一个笔记本之外的导入语句均运行失败并提示 [WinError 1455] The paging file is too small for this operation to complete. Error loading "C:\ArcGIS_Server\Server\framework\runtime\ArcGIS\bin\Python\envs\arcgispro-py3\lib\site-packages\torch\lib\caffe2_detectron_ops_gpu.dll" or one of its dependencies。
- 在通过 Windows 容器使用 ArcGIS Notebook Server 的情况下,当我运行导入 mljar-supervised 库的笔记本时,导入语句花费很长时间运行或导致 Kernel died 错误。
- 当我运行的笔记本单元格包含使用 ArcGIS Enterprise 门户项目的 Python 代码时,请求超时。 当我运行包含远程 URL 的单元格时可能出现此错误。
- 当我运行默认的首个笔记本单元格(包括字符串 gis = GIS("home"))时,收到 URL 错误消息,提示暂时无法进行名称解析。
- 当我运行默认的首个笔记本单元格(包括字符串 gis = GIS("home"))时,收到错误消息:ConnectionError: A connection error has occurred: HTTPSConnectionPool(host=,port=443): Max retires exceeded with url: /portal/sharing/rest/info=fjson (caused by NewConnectionError ('urllib3.connection.HTTPSConnection object at 0x7f672e592b0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution'))
安装
在进行安装或重新启动计算机后,如果未按照正确顺序启动 ArcGIS Notebook Server Windows 服务和 Docker 服务,则可能出现此问题。
要解决此问题,可将 ArcGIS Notebook Server Windows 服务设置为自动延迟启动。 执行此操作可以使 Docker Windows 服务在 ArcGIS Notebook Server Windows 服务启动之前完成初始化。
要将 ArcGIS Notebook Server Windows 服务配置为自动延迟启动,请完成以下步骤:
- 在您的 ArcGIS Notebook Server Windows 计算机上打开 Services 应用程序。
- 右键单击 ArcGIS Notebook Server 服务,然后选择 属性。
- 单击常规。
- 在 Startup type 中,选择自动(延迟启动)。
- 单击应用。
- 重新启动计算机以应用更改。
- 如果您的 ArcGIS Notebook Server 站点包含多台计算机,请对每台计算机重复这些步骤。
在具有 Mirantis Container Runtime 的 Windows Server 上,容器镜像位于 C:\ProgramData\docker\windowsfilter 文件夹中。 要从计算机上移除所有先前容器镜像并释放磁盘空间,在 PowerShell 中使用管理员权限运行以下命令。
docker system prune -af
如果没有从 C:\ProgramData\docker\windowsfilter 中移除所有图像图层,重启计算机,然后在 PowerShell 中使用管理员权限运行以下命令。
注:
在加载 ArcGIS Notebook Server Windows 容器镜像之前执行这些操作,因为此过程会移除计算机上的所有容器镜像。
$FolderPath = "C:\ProgramData\docker\windowsfilter"
Get-ChildItem -Path $FolderPath -Directory | % {Rename-Item $_.FullName "$($_.FullName)-removing" -ErrorAction:SilentlyContinue}
while ((Get-ChildItem -Path $FolderPath -Force | Measure-Object).Count -gt 0) { Restart-Service docker }
访问笔记本
您的 web 浏览器不信任通过 ArcGIS Notebook Server 站点的 Web Adaptor 配置的 SSL 证书。 确保您已配置 CA 签名证书且站点已启用 HTTPS。
如果您正在开发环境或过渡环境中使用自签名证书,打开 ArcGIS Notebook Server Administrator Directory 的 URL 并在 web 浏览器中添加例外以信任自签名证书。
当我尝试打开笔记本时,收到以下错误消息:无法打开笔记本。 在 Notebook Server 上无法连接至 Docker 环境。 请确保已满足运行 Docker 的 Notebook Server 先决条件。
一个或多个允许 Docker Engine 组件与 ArcGIS Notebook Server 配合使用的先决条件设置尚未配置。 有关详细信息,请参阅安装指南中的以下主题:
当您验证所有必要设置均配置完成后,在命令提示符中运行以下内容以确认 ArcGIS Notebook Server 计算机上已运行 Docker:
docker version
docker run hello-world
如果显示此错误消息,容器已可用但是当前未处于运行或可用状态。 要实现此目的,您必须使用 Administrator Directory 终止容器。 确保终止错误消息中指定的容器。 终止完成后,请笔记本所有者重新打开该笔记本,从而重新启动容器。
笔记本
在通过 Windows 容器使用 ArcGIS Notebook Server 的情况下,当我在笔记本编辑器中运行的两个或更多笔记本导入 torch 库或使用 Torch 作为依赖项的 Python 库时,除了运行的第一个笔记本之外的导入语句均运行失败并提示 [WinError 1455] The paging file is too small for this operation to complete. Error loading "C:\ArcGIS_Server\Server\framework\runtime\ArcGIS\bin\Python\envs\arcgispro-py3\lib\site-packages\torch\lib\caffe2_detectron_ops_gpu.dll" or one of its dependencies。
此行为由 Notebook Server 计算机上为虚拟内存配置的默认最大分页文件大小导致。 请按照以下步骤增加默认分页文件大小,以及分配给笔记本的最大 CPU 和内存。
注:
执行这些更改之前,请向您的系统管理员咨询以了解适用的分页文件大小。
- 在每台 ArcGIS Notebook Server 计算机上单击开始 > 设置 > 系统 > 关于 > 高级系统设置。
- 在系统属性对话框的高级选项卡上,单击性能部分中的设置。
- 在性能选项对话框中,单击高级选项卡。
- 单击虚拟内存部分中的更改。
- 在虚拟内存对话框中,取消选中自动管理所有驱动器的分页文件大小。
- 选择自定义大小。
- 输入 Initial size (MB) 和 Maximum size (MB) 的值。
- 单击确定并重新启动计算机。
计算机重新启动后,在 ArcGIS Notebook Server Manager 中按照以下步骤操作:
- 单击设置 > 运行时。
- 选择运行导入 torch 的笔记本时要使用的运行时,然后单击编辑。
- 将最大 CPU 更新为 4 核,将最大内存更新为 12 GB。
- 单击保存以确认更新。
- 关闭 ArcGIS Notebook Server Manager。
您的站点中运行的 Docker 容器使用的网络与您的 ArcGIS Enterprise 网络发生冲突,阻止了 Python 代码连接到服务器。 请参阅关于配置网络的 Docker 文档。 为 Docker 完成网络配置后,再次运行笔记本。
当 ArcGIS Notebook Server 及其 Docker 组件与其他 ArcGIS Enterprise 组件安装在同一台计算机上时,可能发生此错误。 这可能由于存储在 ArcGIS Notebook Server 中的默认 privatePortalUrl 属性是完全限定域名的缩短版本。 尝试连接门户时将导致失败。
解决方案是将 privatePortalUrl 属性修改为 ArcGIS Notebook Server 站点的完全限定域名:
- 以门户中默认管理员角色成员的身份登录到 ArcGIS Portal Directory。 URL 格式为 https://portal.domain.com:7443/arcgis/portaladmin。
- 单击系统 > 属性 > 更新属性。
- 在更新系统属性对话框中,插入包含门户完全限定域名的 JSON 字符串,其格式如下所示:
{ "privatePortalUrl": "https://portal.domain.com:7443/arcgis" }
当我运行默认的首个笔记本单元格(包括字符串 gis = GIS("home"))时,收到错误消息:ConnectionError: A connection error has occurred: HTTPSConnectionPool(host=,port=443): Max retires exceeded with url: /portal/sharing/rest/info=fjson (caused by NewConnectionError ('urllib3.connection.HTTPSConnection object at 0x7f672e592b0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution'))
部署 Docker 容器时,将从主机的 resolv.conf 文件复制名称服务器。 这可能导致将公共 DNS 服务器用于计算机的安装程序上出现错误,因为 Docker 容器需要能够解析内部 DNS 名称。
要解决此问题,需要在 ArcGIS Notebook Server 系统属性中配置 dockerExtraHosts:
- 打开 ArcGIS Notebook Server Administrator Directory 的 URL。
- 单击系统 > 属性 > 更新属性。
- 在更新系统属性对话框中,插入采用以下格式的主机名和 IP 地址 JSON 字符串:
{ "dockerExtraHosts": [ { "hostname" : "portal.domain.com", "ip" : "12.34.56.78" } ] }