在气隙系统上安装#

这些说明适用于在气隙系统或其他无法访问互联网的机器上进行安装。气隙存档包含安装程序、依赖项和要镜像的包。请联系支持以获得镜像方面的帮助。

开始之前#

您的服务器必须满足硬件、软件、安全和网络的要求。在开始安装之前,请查看并确认您已满足所有系统要求

下载安装程序存档和适合您需要的镜像存档。气隙存档页面列出了存档及其内容。

注意:这些安装说明假定气隙介质在目标服务器上的 $INSTALLER_PATH 可用。

示例

tar xf <installer-archive> -C /installer/
export INSTALLER_PATH=/installer/anaconda-enterprise-`date +%Y-%m-%d`

另请下载并展开您计划镜像的 conda 包存档。这些说明假定包已展开到 $INSTALLER_PATH

tar xf <archive-of-pkgs-to-mirror> -C /installer/
export MIRRORS_ARCHIVE=/installer/repo-mirrors-`date +%Y-%m-%d`

1. 安装 MongoDB 2.6#

将目录更改为适当的 rpms* 目录以查找依赖项

cd $INSTALLER_PATH/rpms*x/

Redhat 和 CentOS 7 的 MongoDB#

  1. 安装 MongoDB

    sudo yum install -y mongodb-org*
    
  2. 启动 MongoDB

    sudo systemctl start mongod
    
  3. 验证 MongoDB 是否正在运行

    $ sudo systemctl status mongod
    mongodb (pid 17258) is running...
    

Redhat 和 CentOS 6.7+ 的 MongoDB#

  1. 安装 MongoDB

    sudo yum install -y mongodb-org*
    
  2. 启动 MongoDB

    sudo /etc/init.d/mongod start
    
  3. 验证 MongoDB 是否正在运行

    $ sudo /etc/init.d/mongod status
    mongodb (pid 17258) is running...
    

Ubuntu 12.04+ 的 MongoDB#

  1. 安装 MongoDB

    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
    
    echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
    
    sudo apt-get update
    
    sudo apt-get install -y mongodb-org=2.6.9 mongodb-org-server=2.6.9 mongodb-org-shell=2.6.9 mongodb-org-mongos=2.6.9 mongodb-org-tools=2.6.9
    

    注意:如果您未指定版本(例如 2.6.9),apt-get 将安装最新的稳定版本,即 3.x。

  2. 启动 MongoDB

    sudo /etc/init.d/mongod start
    

    验证 MongoDB 是否正在运行

    $ sudo /etc/init.d/mongod status
    mongodb (pid 17258) is running...
    

    您将收到 MongoDB 正在运行的验证信息

    start: Job is already running: mongodb
    

其他 MongoDB 资源#

有关其他 MongoDB 安装信息,请参阅 https://docs.mongodb.org/manual/

2. 创建仓库管理员帐户#

  1. 在终端窗口中,为 Anaconda 仓库创建一个名为“anaconda-server”的新用户帐户,并切换到此新帐户

    sudo useradd -m anaconda-server
    

    注意:anaconda-server 用户是安装仓库的默认用户。可以使用任何用户名,但不建议使用 root 用户。

  2. 创建仓库包存储目录

    sudo mkdir -m 0770 -p /opt/anaconda-server/package-storage
    
  3. 将此目录的所有权分配给 anaconda-server 用户

    sudo chown -R anaconda-server:anaconda-server /opt/anaconda-server
    
  4. 切换到仓库管理员帐户

    sudo su - anaconda-server
    

3. 安装仓库#

安装仓库,按照安装例程中的提示操作

bash $INSTALLER_PATH/anaconda_repository-*-linux-64.sh

注意:路径应仅包含一个安装程序,该安装程序是仓库的最新稳定版本。

  1. 查看并接受许可条款

    Welcome to Anaconda Enterprise 4 Repository 2.33 (by Anaconda, Inc.)
    In order to continue the installation process, please review the license agreement.
    Please, press ENTER to continue.
    
  2. 查看许可条款后,通过键入 yes 来批准它们

    Do you approve the license terms? [yes|no] yes
    
  3. 接受默认位置或指定替代位置

    anaconda_repository will now be installed into this location:
    /home/anaconda-server/repo  -Press ENTER to confirm the location
    -Press CTRL-C to abort the installation
    -Or specify a different location below
     [/home/anaconda-server/repo] >>> /home/anaconda-server/repo" [Press ENTER]
      PREFIX=/home/anaconda-server/repo
      installing: python-2.7.11-0
      ...
      Python 2.7.11 :: Anaconda, Inc.
      creating default environment... installation finished.
    
  4. 在安装例程结束时,通过在提示符下回答“yes”以将安装位置添加到您的路径,来更新 anaconda-server 用户的路径—在 /home/anaconda-server/repo 前面添加—

    Do you wish the installer to prepend the anaconda_repository install location to PATH in your /home/anaconda-server/.bashrc ? [yes|no]
    
  5. 键入 yes 并按 ENTER。

  6. 为了使新的路径更改生效,请 source 您的 .bashrc

    source ~/.bashrc
    

4. 配置仓库#

  1. 初始化 Web 服务器并指示包存储位置的文件路径

    anaconda-server-config --init
    anaconda-server-config --set fs_storage_root /opt/anaconda-server/package-storage
    

    注意:文件存储的位置可以是您在上面第 2 节中创建的 anaconda-server 用户拥有的任何位置。

    注意:从 Repository 2.33.8 开始,fs_storage_root 配置设置对于本地文件系统存储是强制性的,并且没有它 Repository 服务器将无法运行。

  2. 配置与您的 MongoDB 数据库的连接

    anaconda-server-config --set MONGO_URL mongodb://localhost
    

    注意:您也可以配置外部 MongoDB 数据库

  3. 如果您未使用 LDAP 或 Kerberos 身份验证,请为 Repository 创建初始超级用户帐户。使用初始用户的所需密码设置环境变量 USER_PASSWORD。然后运行

    anaconda-server-create-user --username "superuser" --email "[email protected]" --superuser
    

    注意:将 superuser 替换为您选择的用户名,并将 your@email.com 替换为您希望接收系统电子邮件通知的电子邮件地址。

    注意:为确保 bash shell 不会处理此密码中的任何字符,请将密码限制为字母和数字,不包含标点符号。设置完成后,您可以在 Web UI 中更改密码。

  4. 初始化 Repository 数据库

    anaconda-server-db-setup --execute
    

    注意:升级 Repository 时也会运行以上命令。升级后运行

    anaconda-server-db-setup --execute
    
  5. 重启服务器。

注意:可以使用一个或多个 .yaml 配置文件控制更多配置选项。Repository 按此顺序读取配置文件

  1. /etc/anaconda-server/*.yaml

  2. $PREFIX/etc/anaconda-server/*.yaml

  3. 如果设置了环境变量 ANACONDA_SERVER_CONFIG 并且未使用命令行参数 --config-file,则从环境变量 ANACONDA_SERVER_CONFIG 中指定的路径读取。

  4. 如果使用了命令行参数 --config-file,则从命令行参数中指定的路径读取。

所有配置都将合并,并且较早读取的文件中的选项将被稍后读取的文件覆盖。如果同一目录中有多个文件,则按字母顺序读取它们。

5. 设置在重启、失败或错误时自动重启#

  1. 运行 anaconda-server-install-supervisord-config.sh 脚本以配置 supervisord 管理 Anaconda 服务器和 worker 进程

    anaconda-server-install-supervisord-config.sh
    

    这将生成 /home/anaconda-server/repo/etc/supervisord.conf 文件,并添加一个 crontab 规则以在每次重启后重启 supervisor。

    它还将创建文件夹 /home/anaconda-server/repo/etc/supervisord/conf.d/,您可以在其中添加包含自定义配置的 .conf 文件。

    注意:如果您不想包含 crontab 规则,请在使用脚本时使用 --no-crontab 选项。

    如果错误消息表明禁止用户使用 cron 并且无法添加 crontab 规则,您可以手动使用 sudo 添加它。编辑 crontab 文件

    sudo crontab -e -u anaconda-server
    

    当文件打开以进行编辑时,添加此条目

    @reboot /home/anaconda-server/repo/bin/supervisord
    
  2. 验证服务器是否正在运行

    supervisorctl status
    

    如果安装正确,您将看到

    anaconda-server RUNNING   pid 10831, uptime 0:00:05
    
  3. 查看日志文件,路径为

    $PREFIX/var/log/anaconda-server/application.log
    

6. 启动并登录到 Repository#

  1. 打开浏览器,访问 http://your.anaconda.repository:8080/,使用您在上面第 4 节中创建的超级用户帐户登录到 Repository。

    注意:将 your.anaconda.repository 替换为您的仓库的 IP 地址或域名。

  2. 如果您正在使用 LDAP 或 Kerberos 身份验证,请修改您的用户帐户使其成为超级用户。

    示例:如果您的用户帐户是“jsmith”

    anaconda-server-admin set-superuser "jsmith"
    

注意:如果您在启动 repo 服务器时遇到问题,请参阅故障排除

7. 客户端配置#

按照配置 Anaconda Client说明进行操作,以便您可以使用一个或多个客户端与服务器通信。

8. 安装 Repository 许可证#

  1. 在您的浏览器中,转到 http://your.anaconda.repository:8080。按照屏幕上的说明上传您从销售代表的电子邮件中收到的许可证文件。

    注意:将 your.anaconda.repository 替换为您的仓库的 IP 地址或域名。

    如果您找不到许可证或对许可证有任何疑问,请联系您的销售代表或支持代表。

  2. 上传许可证文件后,您将看到登录页面。使用您在上面第 4 节中创建的超级用户用户和密码登录。

提示:您可以通过访问 URL http://your.anaconda.repository:8080/admin/license 来查看当前的许可证信息并上传新的许可证文件。

注意:将 your.anaconda.repository 替换为您的仓库的 IP 地址或域名。

或者,您也可以通过将许可证文件直接复制到 /home/anaconda-server/.continuum 目录来安装许可证。

9. 可选:镜像 Anaconda 和 Miniconda 的安装程序#

Miniconda 和 Anaconda 安装程序可以通过位于 /home/anaconda-server/repo/opt/anaconda-server/installers 的静态目录由 Repository 提供服务。要提供每个平台的最新安装程序,请从您的气隙存档复制到此目录。

cp Miniconda-latest-Linux-x86_64.sh /home/anaconda-server/repo/opt/anaconda-server/installers

Miniconda-latest-Linux-x86_64.sh 替换为您的 Anaconda 或 Miniconda 安装程序名称。

注意:气隙存档仅包含 Miniconda 和 Anaconda 安装程序的最新版本。

用户可以使用 curl 从以下 URL 下载安装程序

# Fill in server name, port, and specific installer for your platform
curl -s -O http://your.anaconda.repository:8080/downloads/Miniconda-latest-Linux-x86_64.sh

注意:请将 your.anaconda.repository 替换为您的仓库的 IP 地址或域名。

10. 镜像 Anaconda.org#

最后一步是从 Anaconda.org 上频道的一个子集镜像软件包到本地仓库。要镜像的频道如下:

频道

描述

anaconda

默认的 anaconda 频道,包含由 Anaconda, Inc. 构建和支持的所有软件包。也包含自定义软件包。

r

如果您想要 r 的 conda 软件包,请镜像此频道。通常在 r 账户下完成。

wakari anaconda-nb-extensions

如果本地仓库将由 Anaconda Enterprise Notebooks 使用,建议的方法是在 wakari 账户下镜像这些频道。

msys2

许多 Windows 软件包都需要 msys2。请参阅 http://www.msys2.org/

软件包将被镜像到由 fs_storage_root 键定义的软件包存储位置,如上文第 4 节所述。

镜像 Anaconda#

由于我们是从本地文件系统镜像,因此需要一些额外的配置。每个频道的步骤都相同

  1. 创建一个镜像配置 yaml,通常存储在 $PREFIX/etc/anaconda-server/mirror/ 中。

  2. 自定义您的镜像。一个例子是如果您只需要镜像平台子集的软件包。默认情况下,它会镜像频道 linux-64、osx-64、win-64、win-32 和 linux-32 中找到的所有软件包。

  3. 通过指向配置文件来调用镜像命令

    echo "channels:" > ~/repo/etc/anaconda-server/mirror/conda.yaml
    echo " - file://$MIRRORS_ARCHIVE/anaconda-suite/pkgs" >> \
           ~/repo/etc/anaconda-server/mirror/conda.yaml
    
  4. 镜像默认的 Anaconda 软件包

    anaconda-server-sync-conda --mirror-config ~/repo/etc/anaconda-server/mirror/conda.yaml
    

使用 Anaconda Enterprise 4 Repository 镜像 Anaconda 仓库 包含用于镜像其他频道的文档和高级 yaml config