ArcGIS Notebook Server 是一个与 ArcGIS Enterprise 门户集成的完整数据科学平台。
10.7 版本中引入的 ArcGIS Notebook Server 是 ArcGIS Enterprise 平台中托管和运行 ArcGIS Notebooks 的服务器角色。使用 Python 编程语言可以执行空间分析、制定数据科学和机器学习工作流、管理 GIS 数据和内容以及自动化 ArcGIS Enterprise 管理任务。
ArcGIS Notebooks
ArcGIS Notebooks 可在 ArcGIS 中提供集成的 web 界面,用于创建、共享和运行数据科学、数据管理和管理脚本。作为 notebook 创作者,您有权访问 ArcGIS Server 及其分析引擎、ArcGIS 地理空间分析库,以及开源分析、统计数据和机器学习库。
通过 notebook,您可以执行分析、自动化工作流,并立即在地理环境中可视化数据和分析结果。Notebook 是一种高效,现代的环境,将代码、实时可视化和地图以及数据工具进行了结合。
ArcGIS Notebook 包括 Esri 的 Python 资源:ArcGIS API for Python 和 ArcPy。Python 是 ArcGIS 平台的一部分,且 ArcGIS Notebook 可将 Python 脚本直接引入您的 ArcGIS Enterprise 门户。API 允许您将动态地图和地理空间数据工具合并到 notebook 中。
当 ArcGIS Notebook Server 站点与联合了其他专用 ArcGIS Server 角色的 ArcGIS Enterprise 门户联合时,您可以在 notebook 中使用这些分析工具。例如,在包含 ArcGIS GeoAnalytics Server 站点的部署中,notebook 编辑器将包括可添加到 notebook 的 GeoAnalytics 工具;在包含指定用于栅格分析的 ArcGIS Image Server 站点的部署中,notebook 编辑器中将包括栅格工具。
ArcGIS Notebook Server 的工作原理
ArcGIS Notebook Server 安装于服务器操作系统中,并使用 ArcGIS Enterprise 门户进行配置和联合。和其他 ArcGIS Server 角色类似,Web Adaptor 可在 ArcGIS Notebook Server 软件之前部署。
ArcGIS Notebook Server 可使用容器(即虚拟化操作系统)来隔离每个 notebook 创作者的环境。容器允许每个创作者使用您的服务器资源子集,且在工作或资源使用中不会互相干扰。
这些容器由第三方软件组件 Docker 进行分配和维护。安装 ArcGIS Notebook Server 之前,您必须安装特定版本的 Docker,且 ArcGIS Notebook Server 安装完成后,您必须对其进行配置以使用 Docker。
Docker 和 ArcGIS Notebook Server主题提供了有关 Docker 的概述,解释了如何与 ArcGIS Notebook Server 配合使用并包含有关可用 Docker 版本的信息。
ArcGIS Notebook Server 向站点中每个 notebook 创作者针对每个运行时分配了一个容器。只有 notebook 创作者可以在容器中工作,且他们在运行 notebook 时使用的计算资源不会影响其他创作者的容器。
当具有相应权限的门户成员打开其第一个 ArcGIS Notebook 时,将启动 ArcGIS Notebook Server 站点上的容器。Notebook 和容器之间的会话将在整个 notebook 运行期间持续进行。
自 10.7.1 起,ArcGIS Notebook Server 可以在一个站点中将多台计算机连接在一起。此类配置中的计算机均具有相同的配置,且每台计算机都可以运行 ArcGIS Notebooks。
Notebook 运行时和容器图像
首次启动容器时,该容器基本为空。容器需要运行的系统库、工具和配置通过容器图像文件提供。容器图像将作为启动过程的一部分应用到容器。
提示:
如果您已部署云软件,则可能熟悉机器映像,这些映像为空白虚拟机提供了运行所需的代码、工具和设置。容器图像与容器的空白虚拟操作系统的运行方式相同。
Esri 提供了两个 ArcGIS Notebook Server 的容器图像。每个容器图像中包含了一个 notebook 运行时,该运行时允许您使用 ArcGIS Notebook 中的 Python 资源。每个运行时都包括这些库和依赖项的列表,包括每个 Python 库的特定版本。
可将两个 ArcGIS Notebook Server 运行时标准(包括 ArcGIS API for Python 和其他 Python 模块)和高级(同样包括 ArcPy)作为相应容器图像的一部分在 notebook 中使用。
您是只接收“标准”容器图像,还是同时接收“标准”容器图像和“高级”容器图像,取决于您的许可。
在 Windows 计算机中,ArcGIS Notebook Server 站点中的容器在名为 MobyLinuxVM 的 Linux 仿真器中进行管理,该仿真器包含在 Hyper-V 环境中。因此,必须在计算机上安装 Hyper-V 角色。此要求包含在 ArcGIS Notebook Server 系统要求中。
启动容器时,您从 Esri 接收的两个容器图像之一将应用于容器。应用的运行时和图像取决于 notebook 创作者在门户中所具备的权限:
- 仅被授予创建和编辑 Notebook 权限的创作者,其容器中将加载“标准”容器图像。这些创作者打开的所有 notebook 都将使用“标准”运行时。
- 同时被授予了高级 Notebook 权限的创作者,其容器中将加载“高级”容器图像。其 notebook 的默认 notebook 运行时为“高级”运行时。但是,他们也可以选择为单个 notebook 指定运行时,并且可以选择在其 notebook 中使用“标准”或“高级”运行时。
ArcGIS Notebook Server 和 ArcGIS Server
ArcGIS Notebook Server 具有 ArcGIS Server 角色独有的功能和架构。ArcGIS Notebook Server 和其他 ArcGIS Server 角色之间的区别如下:
- 其他 ArcGIS Server 角色主要用于托管服务,以绘制地图、执行分析、运行地理处理任务等。ArcGIS Notebook Server 主要用于托管 ArcGIS Notebook。
- ArcGIS Notebook Server 使用容器来隔离 notebook 创作者的环境。每个创作者在其容器中使用的处理资源不会影响其他创作者在各自容器中所使用的资源。
- ArcGIS Notebook Server 使用 Docker 软件进行容器分配。在安装 ArcGIS Notebook Server 之前,必须预先在计算机上安装和配置 Docker。本安装指南提供了有关在计算机上设置 Docker 的步骤和建议。
- ArcGIS Notebook Server 有其自己的安装程序,您可以从 My Esri 网站获取该程序。其他 ArcGIS Server 角色将使用 ArcGIS Server 安装程序,但在授权过程中将为其分配特定角色。
- ArcGIS Notebook Server 不包含 ArcGIS Server Manager 应用程序或 REST API 服务目录。它具有 ArcGIS Notebook Server Administrator Directory,可通过 https://notebookserver.yourdomain.com:11443/arcgis/admin 进行访问。所有管理任务都可以在此目录中执行;您可在浏览器中手动执行,或通过编程请求执行。
ArcGIS Notebook Server 与门户联合后,可以使用在门户网站中创建图层或 web 应用程序的方式来创建 notebook。ArcGIS Notebook 在您的门户中使用基于身份的安全性,且管理员可以控制哪些用户有权创建、共享、编辑和查看 notebook。