概念#
系统概述#
Anaconda Enterprise Notebooks 平台由 3 个主要 服务组:AEN 服务器、AEN 网关和 AEN 计算,其中 称为 “nodes”:
服务器节点 - 管理 前端到用户登录的系统,用户账户所在的系统 存储和管理员管理系统。
网关节点 - 反向代理 对用户进行身份验证并将他们定向到适当的计算 node 的 API 中。之后用户不会注意到此节点 安装,因为它会自动路由它们。
计算节点 - Where projects 被存储和运行。

这些服务可以在单台计算机上运行,也可以分布式运行 跨多个服务器。

从组织上讲,每个 AEN 安装正好有 1 台服务器 instance 和 1 个或多个网关实例。每个计算节点都可以 仅连接到单个网关。的集合 由单个网关提供的计算节点称为数据 center 的 intent 的 intent 的您可以在任何位置将数据中心添加到 AEN 安装 时间。
示例:具有 2 个数据中心的 AEN 部署,其中 1 个网关 具有一个包含 20 台物理计算机的群集,以及第二个网关 有 30 个虚拟机,必须具有以下服务 已安装并正在运行:
1 个 AEN 服务器实例
2 个 AEN 网关实例
50 个 AEN 计算实例 (20 + 30)
节点必须单独配置和维护。
服务器节点#
服务器节点控制登录、帐户、管理员、项目创建 以及管理以及与数据库的接口。是的 所有用户的 AEN 主入口点。服务器节点 处理项目设置,并确保将用户发送到 正确的 Project Data Center。
由于 AEN 是基于 Web 的,因此它使用标准 HTTP 端口 80 或 服务器上的 HTTPS 端口 443。
AEN 使用 MongoDB 实现其内部数据持久性。是的 通常与服务器运行在同一主机上,但也可以安装在 单独的主机。
服务器节点使用 NGINX 处理面向用户的 AEN Web 接口。NGINX 充当实际服务器的请求代理 web-进程,该进程运行在仅侦听 在 localhost 上。NGINX 还负责静态内容。
Server 安装在/opt/wakari/wakari-server
目录。
服务器进程#
当您查看服务器进程的状态时,您可能会看到这些进程 解释如下。
supervisord |
details |
---|---|
description |
Manage |
user |
|
configuration |
|
log |
|
control |
|
ports |
none |
wk-server |
details |
---|---|
description |
Handles user interaction and passing jobs on to the wakari gateway. Access to it is managed by NGINX. |
user |
|
command |
|
configuration |
|
control |
|
logs |
|
ports |
Not used in versions after 4.1.2 * |
* AEN 4.1.2 及更早版本使用端口 5000。此端口仅在 localhost 上使用。
更高版本的 AEN 改用 Unix 套接字。Unix 套接字路径为:unix:/opt/wakari/wakari-server/var/run/wakari-server.sock
wakari-worker |
details |
---|---|
description |
Asynchronously executes tasks from |
user |
|
logs |
|
control |
|
nginx |
details |
---|---|
description |
Serves static files and acts as proxy for all other requests passed to wk-server process. * |
user |
nginx |
configuration |
|
logs |
|
control |
|
port |
80 |
* 在 AEN 4.1.2 及更早版本中,wk-server 进程在
仅限 localhost 的 S Package。在更高版本的 AEN 中,wk-server 进程使用 Unix
套接字路径unix:/opt/wakari/wakari-server/var/run/wakari-server.sock
.
NGINX 至少运行两个进程:
以 root 用户身份运行的主进程。
以 nginx 用户身份运行的工作进程。
网关节点#
网关节点用作给定组 计算节点。它充当代理服务并管理 将 URL 和端口授权和映射到 在这些节点上运行。网关节点提供一致的 用户的统一界面。
注意:网关也可以称为数据中心 ,因为它充当计算节点集合的代理。
您可以在分层横向扩展中的每个数据中心中放置一个网关 时尚。
AEN 网关安装在/opt/wakari/wakari-gateway
目录。
网关进程#
当您查看服务器进程的状态时,您可能会看到这些进程 解释如下。
supervisord |
details |
---|---|
description |
Manages the |
user |
|
configuration |
|
log |
|
control |
|
ports |
none |
wakari-gateway |
details |
---|---|
description |
Passes requests from the AEN Server to the Compute nodes. |
user |
|
configuration |
|
logs |
|
working dir |
|
port |
8089 (webcache) |
计算节点#
计算节点是 Jupyter 等应用程序的地方 Notebook 和 Workbench 实际运行。他们也是主人 用户在使用“终端”App 或使用 SSH 时看到的 以访问节点。计算节点包含所有用户可见的 程序。
计算节点只需要与网关通信,因此它们 可以通过防火墙完全隔离。
每个项目都与一个或多个计算节点相关联,这些节点 是单个数据中心的一部分。
AEN 计算节点安装在/opt/wakari/wakari-compute
目录。
AEN 系统中的每个计算节点都需要一个计算启动器 service 来调解对服务器和网关的访问。
计算进程#
当您查看服务器进程的状态时,您可能会看到这些进程 解释如下。
supervisord |
details |
---|---|
description |
Manages the |
user |
|
configuration |
|
log |
|
control |
|
working dir |
|
ports |
none |
wk-compute |
details |
---|---|
description |
Launches compute processes. |
user |
|
configuration |
|
logs |
|
working dir |
|
control |
|
port |
5002 (rfe) |
Wk-compute 会加载以下每个配置文件,在 此订单:
/etc/wakari/config.json
./etc/wakari/compute-launcher-config.json
../compute-launcher-config.json
.由
-c
选择。
如果在多个文件中指定了某个选项,则最后一个文件 遇到优先。
主管和主管#
AEN 使用一个名为“Supervisor”的过程控制系统来运行其 服务业。主管由 AEN 服务帐户用户 通常是 wakari 或 aen_admin。
Supervisor 守护进程称为 “supervisord”。它运行 在后台运行,很少需要重新启动。
服务帐户#
AEN 必须由名为 AEN 服务帐户。AEN 服务帐户的用户名为 称为 AEN 功能 ID (NFI)。AEN 服务帐户是 在 AEN 安装期间创建(如果不存在),并且是 用于运行所有 AEN 服务。
默认 NFI 用户名为wakari
.另一个受欢迎的选择是aen_admin
.
警告:服务帐户只能用于管理任务,并且 不应像普通用户那样用于作 AEN。如果 服务帐户创建或启动项目,以及 AEN 包的权限 cache 将被重置以匹配服务帐户,这将干扰 所有其他用户的 AEN 的正常运行。
Anaconda 环境#
每个项目都有一个关联的 conda 环境,其中包含 该项目所需的软件包。当项目首次 started,AEN 克隆名称为 “default” 的默认环境 到项目目录中。
AEN 4 的每个版本都包含经过特定测试的 conda 和 conda 版本 AEN 附带的软件包。这些经过测试的 conda 软件包包括 Python、R 和 其他软件包,这些经过测试的 Conda 软件包包括 Anaconda。
如果您升级或安装不同版本的 conda 或不同版本的 这些 conda 软件包中的任何一个,新软件包都不会作为一部分进行测试 的 AEN 4 版本。
这些不同的软件包通常会起作用,特别是如果它们是较新的软件包 版本,但它们没有经过测试或保证工作,在某些情况下它们 可能会破坏产品功能。
您可以使用新的 conda 环境来测试软件包的新版本 在现有环境中安装它。
如果使用 conda 更改包的版本会破坏产品功能, 您可以使用 conda 将包的版本更改回版本 已知有效。
有关环境的更多信息,请参阅使用环境。
项目和权限#
AEN 用户主要通过项目与系统交互。
项目与 AEN 环境。用户团队包括一个所有者,即 创建项目的用户。
项目位于projectRoot
文件夹
node - 默认情况下,/projects
.
项目目录是在首次创建项目时创建的
开始。这start-project
脚本克隆它
从/opt/wakari/wakari-compute/lib/node_modules/wakari-compute-launcher/skeleton
.
项目目录权限包括:
owner: rwx, user who created the project
group: rwx, group of the owner
other: --x, to allow access to the Public folder
ACL: rwx for any other team members
项目目录中的文件和子目录具有 与项目目录相同的权限,但以下情况除外:
public 文件夹及其中的所有内容对任何人开放。
硬链接到根 anaconda 的任何文件 环境 —
/opt/wakari/anaconda
— 归 root 或 wakari 用户。
项目文件和目录权限由start-project
脚本。所有文件和目录位于
项目将在项目为
started,但 root 或 AEN_SRVC_ACCT 拥有的文件除外
用户 - 默认情况下,为 Wakari 或 aen_admin。
为 root 或 AEN_SRVC_ACCT 拥有的文件设置的权限
user 的 intent 值以避免更改权限设置
中/opt/wakari/anaconda
目录。
注意:请勿以 AEN_SRVC_ACCT 用户身份启动项目。 权限系统无法正确管理项目文件 由此用户拥有。