安装手册 (AEN 4.1.0) ¶
概览¶
此安装 Runbook 演练了安装由前端服务器、网关和两台或更多计算机组成的基本 Anaconda Enterprise Notebooks 系统所需的步骤。
安装操作手册旨在用作安装过程中的分步指南。它适用于两种受众:
- 那些可以直接访问互联网进行安装的人,以及
- 出于安全原因限制此类访问或以其他方式不可用的那些。
对于这些受限(称为“气隙”)环境,Continuum 将整个 Anaconda 产品套件放在便携式存储介质上或作为可下载的 TAR 存档。请按照注明的“气隙”说明进行操作。
如果您对安装 Runbook 说明有任何疑问,请联系您的销售代表或优先支持团队。
组件¶
AEN 服务器:系统的管理前端。这是用户登录系统、存储用户帐户以及管理员可以管理系统的地方。
AEN 网关:网关是一个反向代理,可对用户进行身份验证并自动将他们定向到适合其项目的 AEN 计算机器。用户不会注意到这个组件,因为它会自动路由它们。人们可以以分层横向扩展的方式在每个数据中心放置一个网关。
AEN 计算节点:这是存储和运行项目的地方。AEN Compute 机器只需要通过AEN 网关可达,因此它们可以被防火墙完全隔离。
目录¶
- Anaconda Enterprise 安装运行手册
- 概述
- 观众
- 组件
- 目录
- 安装要求
- 硬件要求
- 软件要求
- 需要 Linux 系统帐户
- 软件先决条件
- 安全要求
- 网络要求
- 其他需求
- 安装准备
- 下载安装程序
- 收集 FQDN 的 IP 地址
- 安装 AEN 服务器
- AEN 服务器准备 - 先决条件
- 下载先决条件 RPM
- 安装先决条件 RPM
- 运行 AEN 服务器安装程序
- 设置变量和更改权限
- 运行 AEN 服务器安装程序
- 启动弹性搜索
- 测试 AEN 服务器安装
- 更新许可证
- AEN 服务器准备 - 先决条件
- 安装 AEN 网关
- 设置变量和更改权限
- 运行 Wakari 网关安装程序
- 注册 AEN 网关
- 确保适当的权限
- 启动网关
- 验证 AEN 网关已注册
- 安装 AEN 计算
- 设置变量和更改权限
- 运行 AEN 计算安装程序
- 配置 AEN 计算节点
- 配置 conda 以使用本地现场 Anaconda Enterprise Repo
- 编辑计算节点上的 condarc
- 配置 Anaconda 客户端
- 可选配置
- 配置常见的 AEN 计算选项
- 更改项目目录
- 创建具有相同 id 的组
- 使用数字用户名
- 验证和调整搜索索引
- 设置默认项目环境
- 配置远程mongodb
- SELinux 强制模式
- 配置常见的 AEN 计算选项
- 包起来
安装要求¶
硬件要求¶
服务器
- 2+GB 内存
- 2+CPU核心
- 20GB 存储空间
AEN网关
- 2 GB 内存
- 2 个 CPU 内核
AEN 计算(N 台机器)
配置以满足项目的需要。至少:
- 2GB 内存
- 2 个 CPU 内核
- 至少 20 GB
注意:我们建议将 ``/opt/wakari`` 和 ``/projects`` 放在同一个文件系统上。如果项目和 conda env 目录位于不同的文件系统上,则计算节点上将需要更多磁盘空间,性能会更差。
软件要求¶
- 所有节点上的 RHEL/CentOS 版本 6.5 到 6.8(支持其他操作系统,但本文档假定为 RHEL 或 CentOS)
- /opt/wakari:能够在这里安装并且至少有 5GB 的存储空间。
- /projects:大小取决于项目的数量和大小。至少 20GB 的存储空间。
- ACL:这些目录需要安装有 Posix ACL 支持 (Posix.1e) 的文件系统。检查
mount和tune2fs -l /path/to/filesystem | grep options
需要 Linux 系统账号¶
一些 Linux 系统帐户 (UID) 在安装过程中添加到系统中。如果您的组织需要特殊操作,以下是 UID 列表:
- mongod (RHEL) 或 mongodb (Ubuntu/Debian):由 RPM 或 deb 包创建
- elasticsearch:由 RPM 或 deb 包创建
- nginx:由 RPM 或 deb 包创建
- AEN_SRVC_ACCT:在安装 Anaconda Enterprise Notebooks 期间创建,默认为“wakari”
软件先决条件¶
服务器
- Mongo 版本:>= 2.6.8 和 < 3.0
- Nginx 版本:>= 1.4.0
- 弹性搜索:>= 1.7.2
- Oracle JRE 7 和 8
AEN计算
- 混帐
- X 窗口系统
安全要求¶
- root 或 sudo 访问
- 处于 Permissive 或 Disabled 模式的 SELinux - 检查
getenforce
其他要求¶
假设满足上述要求,则 AEN 不需要额外的依赖项。
注意:虽然不是运行软件的必要条件,但这些说明使用curl来下载安装过程中使用的软件包。您可以使用其他适当的方式将需要的文件放入安装目录中。
安装准备¶
下载安装程序¶
下载安装程序并将它们复制到相应的服务器。
常规安装:
curl -O $RPM_CDN/aen-server-4.1.0-Linux-x86_64.sh curl -O $RPM_CDN/aen-gateway-4.1.0-Linux-x86_64.sh curl -O $RPM_CDN/aen-compute-4.1.0-Linux-x86_64.sh
注意:$RPM_CDN 服务器将由您的销售代表提供。
收集 IP 地址或 FQDN ¶
AEN 对用于连接服务器和网关组件的 IP 地址或域名非常敏感。如果用户将使用域名,则应使用域名而不是 IP 地址安装组件。在服务之间对用户进行身份验证时,身份验证系统需要正确的主机名。
安装AEN Server组件后,填写下面组件的域名或IP地址,并在下面的框中记录管理用户帐户的用户名和自动生成的密码。
| 组件 | 名称或 IP 地址 | |
|---|---|
| AEN 服务器 | | |
| AEN 网关 | | |
| AEN 计算 | |
笔记:
- 我们将这些 IP 条目或 DNS 条目的值称为,例如
<AEN_SERVER_IP>或<AEN_SERVER_FQDN>,特别是在 shell 命令的示例中。考虑将这些值实际分配给具有相似名称的环境变量。
设置变量¶
AEN 服务器地址¶
为 AEN 服务器地址(FQDN 或 IP)定义一个环境变量:
export AEN_SERVER =< AEN_SERVER_IP > # <来自上表>
请注意,为 AEN 服务器指定的地址(FQDN 或 IP)必须可由您的预期 AEN 用户 Web 客户端解析。您可以按如下方式验证您的主机名:
回声 $AEN_SERVER
AEN 功能 ID ¶
AEN 必须由称为 AEN 服务帐户的 Linux 帐户安装和执行。AEN 服务帐户的用户名称为 AEN 功能 ID (NFI)。如果 AEN 服务帐户不存在并用于运行所有 AEN 服务,则会在 AEN 安装期间创建该帐户。
默认的 NFI 用户名是wakari. 另一个流行的选择是aen_admin。设置环境变量“AEN_SRVC_ACCT”到“wakari”或您选择的名称
之前安装:
export AEN_SRVC_ACCT = "aen_admin"
此名称将成为 AEN 服务帐户的用户名和 AEN 管理员帐户的用户名。
升级 AEN 时,将 NFI 设置为当前安装的 NFI。
AEN 功能组¶
AEN 功能组 (NFG) 的名称通常设置为“wakari”或“aen_admin”,但可以指定任何名称。该 Linux 组包括 AEN 服务帐户,因此拥有所有者 NFI 的所有文件和目录也具有组 NFG。
升级 AEN 时,请将 NFG 设置为当前安装的 NFG。
安装前使用此命令设置 AEN 功能组 (NFG) ,使用“wakari”或将其替换为您选择的名称:
export AEN_SRVC_GRP = "aen_admin"
AEN 安装 sudo 命令¶
在 AEN 安装期间,安装程序执行各种需要 root 级别权限的操作。默认情况下,安装程序使用该
sudo命令来执行这些操作。设置以下环境变量*before*安装以覆盖默认
sudo命令以在运行安装程序的用户具有 root 权限并且sudo不需要或不可用命令时执行 root 级别操作或根本不执行任何命令
:AEN_SUDO_INSTALL_CMD
例子:
export AEN_SUDO_INSTALL_CMD = ""
export AEN_SUDO_INSTALL_CMD = "sudo2"
AEN sudo 命令¶
默认情况下,AEN 服务用于代表其他用户执行操作。这些操作包括,,
和。安装前设置以下环境变量以在系统上不可用 sudo 时覆盖默认命令:.sudo -umkdirchmodcpmvsudoAEN_SUDO_CMD
请注意,AEN 必须能够代表其他用户执行操作。此环境变量不能设置为空字符串或 null。在AEN_SUDO_CMD必须支持-u类似的命令行参数的sudo命令。
例子:
导出 AEN_SUDO_CMD = "sudo2"
安装 AEN 服务器¶
AEN 服务器是系统的管理前端。这是用户登录系统、存储用户帐户以及管理员可以管理系统的地方。
AEN 服务器准备 - 先决条件¶
下载先决条件 RPM ¶
- 常规安装:
RPM_CDN="https://820451f3d8380952ce65-4cc6343b423784e82fd202bb87cf87cf.ssl.cf1.rackcdn.com"
curl -O $RPM_CDN/nginx-1.6.2-1.el6.ngx.x86_64.rpm
curl -O $RPM_CDN/mongodb-org-tools-2.6.8-1.x86_64.rpm
curl -O $RPM_CDN/mongodb-org-shell-2.6.8-1.x86_64.rpm
curl -O $RPM_CDN/mongodb-org-server-2.6.8-1.x86_64.rpm
curl -O $RPM_CDN/mongodb-org-mongos-2.6.8-1.x86_64.rpm
curl -O $RPM_CDN/mongodb-org-2.6.8-1.x86_64.rpm
curl -O $RPM_CDN/elasticsearch-1.7.2.noarch.rpm
curl -O $RPM_CDN/jre-8u65-linux-x64.rpm
安装先决条件 RPM ¶
须藤 yum install - y *. rpm
sudo / etc / init . d / mongod 启动
sudo / etc / init 。d / elasticsearch stop
sudo chkconfig --添加 elasticsearch
运行 AEN 服务器安装程序¶
设置变量和更改权限¶
export AEN_SERVER =< FQDN HOSTNAME > # 使用真实的 FQDN
chmod a + x aen -*. sh # 将安装程序设置为可执行
运行 AEN 服务器安装程序¶
须藤 -E ./aen-server-4.1.0-Linux-x86_64.sh -w $AEN_SERVER
<许可文本>
...
...
PREFIX=/opt/wakari/wakari-server
登录到 /tmp/wakari_server.log
检查服务器名称
准备好预安装步骤
安装 miniconda
...
...
检查服务器名称
从 /opt/wakari/wakari-server/etc/wakari/config.json 加载配置
从 /opt/wakari/wakari-server/etc/wakari/wk-server-config.json 加载配置
====================================
为用户“wakari”创建密码“<RANDOM_PASSWORD>”
====================================
启动 Wakari 守护进程...
安装完成。
成功完成安装脚本后,安装程序将创建管理员帐户(AEN_SRVC_ACCT 用户)并为其分配密码:
为用户“wakari”创建密码 “<RANDOM_PASSWORD> ”
记录此密码。在以下步骤中将需要它。它也可以在安装日志文件中找到
/tmp/wakari_server.log
测试 AEN 服务器安装¶
访问http://$AEN_SERVER。您应该看到“许可证已过期”页面。
更新许可证¶
在“许可证已过期”页面,按照屏幕上的说明上传您的许可证文件。提交后,您应该会看到登录页面。
安装 AEN 网关¶
网关是一个反向代理,可对用户进行身份验证并自动将他们定向到适合其项目的 AEN Compute 机器。用户不会注意到这个组件,因为它会自动路由它们。
设置变量和更改权限¶
export AEN_SERVER =< FQDN HOSTNAME > # 使用真实的 FQDN
export AEN_GATEWAY_PORT = 8089
export AEN_GATEWAY =< FQDN HOSTNAME > # 很快就会
用到chmod a + x aen -*。sh # 将安装程序设置为可执行
运行 Wakari 网关安装程序¶
须藤 -E ./aen-gateway-4.1.0-Linux-x86_64.sh -w $AEN_SERVER
<许可文本>
...
...
PREFIX=/opt/wakari/wakari-gateway
登录到 /tmp/wakari_gateway.log
...
...
检查服务器名称
运行以下命令后请重启网关
将此网关连接到 AEN 服务器
...
注意:将password替换为服务器安装期间生成的 NFI 用户的密码。
注册 AEN 网关¶
AEN 网关需要注册到 AEN 服务器。这需要进行身份验证,因此需要使用在 AEN 服务器安装期间创建的 NFI 用户凭据。这需要以 sudo 或 root
身份运行才能写入配置文件:
/opt/wakari/wakari-gateway/etc/wakari/wk-gateway-config.json
须藤 /opt/wakari/wakari-gateway/bin/wk-gateway-configure \
--server http://$AEN_SERVER --host $AEN_GATEWAY \
--port $AEN_GATEWAY_PORT --name 网关 --protocol http \
--summary 网关 --username $AEN_SRVC_ACCT \
--password '<使用密码设置在上面>'
确保适当的权限¶
须藤 chown $AEN_SRVC_ACCT /opt/wakari/wakari-gateway/etc/wakari/wk-gateway-config.json
启动网关¶
须藤 服务 wakari -网关 启动
验证 AEN 网关是否已注册¶
安装 AEN 计算¶
这是项目存储和运行的地方。添加多台 AEN Compute 机器可以让一台机器横向扩展以增加容量。可以在单个计算节点上创建项目以分散负载。
设置变量和更改权限¶
export AEN_SERVER =< FQDN HOSTNAME > # 使用真实的 FQDN
chmod a + x aen -*. sh # 将安装程序设置为可执行
运行 AEN 计算安装程序¶
须藤 -E ./aen-compute-4.1.0-Linux-x86_64.sh -w $AEN_SERVER
...
...
PREFIX=/opt/wakari/wakari-compute
登录到 /tmp/wakari_compute.log
检查服务器名称
...
...
根环境的初始克隆...
启动 Wakari 守护进程...
安装完成。
您是否希望安装程序预先添加 wakari-compute 安装位置
到 /root/.bashrc 中的 PATH ?[是|否]
[否] >>> 是
配置 AEN 计算节点¶
安装后,您需要在 AEN 服务器上配置 Compute Launcher。
- 将浏览器指向 AEN 服务器
- 以 AEN_SRVC_ACCT 用户身份登录
- 单击顶部导航栏中的管理链接
- 单击左侧导航栏中的企业资源
- 点击添加资源
- 选择正确的(可能是唯一的)数据中心来关联这个计算节点
- 对于 URL,输入http://$AEN_COMPUTE:5002。
注意:如果 Compute Launcher 与网关位于同一框,我们建议使用http://localhost:5002作为 URL 值。
- 为计算节点添加名称和描述
- 单击添加资源按钮以保存更改。
配置 conda 以使用本地现场 Anaconda Enterprise Repo ¶
这集成了 Anaconda Enterprise Notebooks 以使用本地现场 Anaconda Enterprise Repository 服务器而不是 Anaconda.org。
编辑计算节点上的 condarc ¶
注意:如果下面有一些你没有镜像的频道,你应该从配置中删除它们。
#/opt/wakari/anaconda/.condarc
频道:
- 默认值
create_default_packages :
- anaconda -客户端
- python
- ipython -我们
- pip
# 当用户
使用 ~/.condarc
覆盖系统 .condarc #时需要默认通道。这确保“默认值”映射到您的 Anaconda 存储库而不是#repo.anaconda.com
default_channels :
- http : //<您的 Anaconda 存储库 名称:8080 / conda / anaconda
- http : //<您的 Anaconda 存储库 名称:8080 /Conda/ wakari
- HTTP :// <你的 蟒蛇 库 名称: 8080 / conda / anaconda -集群
- http : //<您的 Anaconda 存储库 名称: 8080 / conda / r -通道
# 注意:你必须将“conda”子目录添加到最后的
channel_alias : http : //< your Anaconda Repository name : 8080 / conda
配置 Anaconda 客户端¶
Anaconda 客户端允许用户从命令行使用 Anaconda 存储库。类似于以下内容:搜索包、登录、上传包等。下面的命令将为所有用户全局设置此值。
运行以下命令填写正确的值。需要sudo因为配置文件被写入根文件系统:/etc/xdg/binstar/config.yaml。这将为计算节点上的所有用户设置anaconda-client的默认配置。
sudo / opt / wakari / anaconda / bin / anaconda config -- set url http : //<你的 Anaconda Repository > : 8080 / api - s
恭喜!您现在已成功安装和配置 Anaconda Enterprise Notebooks。
可选配置¶
可选:配置常见的 AEN 计算选项¶
要进行下述任何更改,请编辑以下文件:
/opt/wakari/wakari-compute/etc/wakari/wk-compute-launcher-config.json
然后重启 AEN Compute 服务:
须藤 服务 wakari -计算 重启
增加网关和计算节点之间的 HTTP 超时¶
默认超时为 600 秒(10 分钟)。要调整此编辑
httpTimeout键:
“http超时” : 600
注意:httpTimeout还必须在网关节点上使用相同的密钥设置/opt/wakari/wakari-gateway/etc/wakari/wk-gateway-config.json
更改项目目录¶
注意:我们建议将 ``/opt/wakari`` 和 ``/projects`` 放在同一个文件系统上。如果项目和 conda env 目录位于不同的文件系统上,则计算节点上将需要更多磁盘空间,性能会更差。
要使aen-compute服务使用与/projects
存储项目不同的目录,请修改上面引用的配置文件,如下所示:
"projectRoot" : "/nfs/storage/services/wakari/projects" ,
上面/nfs/storage/services/wakari/projects指定
的目录projectRoot必须存在才能成功。
创建具有相同 id 的组¶
此外,如果/projects文件夹驻留在 NFSv3 卷上并且您设置了多个计算节点,AEN 将在每个节点上创建具有不同 uid 的本地用户。
要使 AEN Compute 服务创建具有相同 id 的组,请编辑上面引用的配置文件,使其包含键identicalGID
和值true,如下例所示。如果您没有看到该
identicalGID键,请添加它,并注意您必须在该行的开头添加一个逗号。如果将此行添加为最后一个键,请删除该行末尾的所有逗号。
, "identicalGID" : 真
使用数字用户名¶
要使用数字用户名,您必须修改上面引用的配置文件,使其包含键numericUsernames和值
true,如下例所示。如果您没有看到该numericUsernames
键,请添加它,并注意您必须在该行的开头添加一个逗号。如果将此行添加为最后一个键,请删除该行末尾的所有逗号。
, "numericUsernames" : true
可选:验证和调整搜索索引¶
验证 AEN 计算节点可以与 AEN 服务器通信。这是搜索索引正常工作所必需的。
curl -m 5 $AEN_SERVER > /dev/null
确保inotify项目根文件系统中的子目录数量有足够的监视可用。某些 Linux 发行版默认为少量监视,这可能会阻止搜索索引器监视项目目录的更改。
cat / proc / sys / fs / inotify / max_user_watches
如有必要,可以使用以下命令增加:
回声 fs 。通知。max_user_watches = 100000 | 须藤 发球 -一 /等/ sysctl的。conf && sudo sysctl - p
确保有足够的inotify用户实例可用,每个项目至少有一个。
cat / proc / sys / fs / inotify / max_user_instances
如有必要,可以使用以下命令增加:
回声 fs 。通知。max_user_instances = 1000 | 须藤 发球 -一 /等/ sysctl的。conf && sudo sysctl - p
可选:设置默认项目环境¶
Anaconda Enterprise Notebooks 包含完整安装的 Anaconda python 发行版以及几个附加包,位于rootconda 环境中的
/opt/wakari/anaconda. 为每个新的 AEN 项目创建此环境的副本。
要将一组不同的包配置为默认值,请在目录中创建一个新的 conda 环境
/opt/wakari/anaconda/envs/default。例如,要使用 python 3.4 基本环境执行此操作,请运行以下命令:
sudo -u $AEN_SRVC_ACCT /opt/wakari/anaconda/bin/conda create -p /opt/wakari/anaconda/envs/default python=3.4
然后conda根据需要使用将任何其他软件包安装到环境中。创建环境后,克隆一次以确保其正常工作:
sudo -u $AEN_SRVC_ACCT /opt/wakari/anaconda/bin/conda create -p /opt/wakari/testenv --clone /opt/wakari/anaconda/envs/default
须藤 -u $AEN_SRVC_ACCT rm -rf /opt/wakari/testenv
首次启动项目时,默认项目环境将被克隆到项目工作区中。要转换现有项目,请运行以下命令来克隆环境,替换
/projects/owner/project/envs/<ENV_NAME>为您要在项目中创建的新环境的路径:
sudo -u $AEN_SRVC_ACCT /opt/wakari/anaconda/bin/conda create -n /projects/owner/project/envs/<ENV_NAME> --clone /opt/wakari/anaconda/envs/default
然后打开项目的Compute Resource Config并在那里设置项目环境路径。
配置远程 mongodb ¶
首先,您需要停止 AEN 服务器、AEN 网关和 AEN 计算:
sudo service wakari -服务器 停止
sudo service wakari -网关 停止
sudo service wakari -计算 停止
现在,为了配置远程数据库以与
AEN-Server 一起使用,您需要编辑
/opt/wakari/wakari-server/etc/wakari/config.json,创建一个名为的新键,MONGO_URL并且您需要添加数据库信息作为值。最终文件应如下所示:
{
"MONGO_URL" : "mongodb://MONGO-USER:MONGO-PASSWORD@MONGO-URL:MONGO-PORT" ,
"WAKARI_SERVER" : "http://YOUR-IP" ,
"USE_SES" : false ,
"CDN" : "http://YOUR-UP/static/" ,
"ANON_USER" : "匿名"
}
您可以将数据从以前的数据库迁移到新的数据库中,MongoDB 文档网站中有关于此的指南。执行迁移后,您可以使用以下命令重新启动服务:
sudo service wakari -服务器 启动
sudo service wakari -网关 启动
sudo service wakari -计算 启动
可选:SELinux 强制模式¶
为了在强制模式下运行 SELinux,必须设置一些端口,可以使用命令来完成。semanage port
semange 命令依赖于policycoreutils-python. 安装(如果需要):
sudo yum - y 安装 policycoreutils - python
为核心 aen-server 启用端口 5000:
须藤 semanage 端口 - m - t http_port_t - p tcp 5000
该-m标志用于修改端口的现有使用。如果出现错误,请更改标志以添加端口。Port tcp/5000 is not defined-a
为 elasticsearch 启用端口 9200 和 9300:
sudo semanage port - a - t http_port_t - p tcp 9200
sudo semanage port - a - t http_port_t - p tcp 9300
有关其他信息,请参阅管理文档。
总结¶
恭喜。您现在拥有一个完整安装的 Anaconda Enterprise Notebooks 系统!
有关创建用户帐户和希望使用系统进行协作分析的用户说明等主题的其他文档,请参阅其他文档资源。
如果您在安装 AEN 时遇到任何问题或有其他问题,请随时联系您的企业支持代表。


