更新 Anaconda Enterprise Notebooks (AEN 4.0)

总结

这些说明用于升级 Anaconda Enterprise Notebooks Platform 0.10.0 或更高版本。如需帮助更新较早版本,请联系您的企业支持代表。

注意:Anaconda Enterprise Notebooks 4.0 的命名服务帐户功能仅可通过完整安装 Anaconda Enterprise Notebooks 使用。升级过程不会添加此新功能。如需完整的安装支持,请联系您的企业支持代表。

Anaconda Enterprise Notebooks Platform 的更新要求三个服务类别的所有实例单独更新:

  • 服务器
  • AEN网关
  • AEN计算

Anaconda Enterprise Notebooks 的典型安装可能包含多个在独立计算节点上运行的Compute实例,如果有多个数据中心 与 Anaconda Enterprise Notebooks 相关联,则可能包含多个网关。可以在概述中找到更多详细信息。

更新过程要求停止、更新并重新启动所有 Anaconda Enterprise Notebooks 服务实例。这些说明描述了如何执行此过程。

注意:任何调用root用户的命令也可以使用sudo.

如果您在此过程中遇到任何困难,请参阅 故障排除指南,其中提供了以下方面的指导:

  • 流程
  • 配置文件
  • 日志文件
  • 港口

如果您无法解决安装或升级问题,请联系您的企业支持代表。

飞行前检查

注意:在开始升级之前,对您的安装进行测试备份。升级到更高版本的 AEN 是不可逆的。升级过程中的任何错误都可能导致部分或全部数据丢失,并需要从备份中恢复数据。

在更新每个主机上的每个服务之前,您应该执行以下操作:

  1. 作为root用户,检查预先存在的.condarc 配置文件:

    ls  ~/. condarc 
    ls  ~ wakari /. Conda克
    

    如果它们存在,检查这些文件进行任何特殊配置 与Anaconda企业笔记本电脑。这些设置需要转移到.condarc环境(/opt/wakari/miniconda/.condarc/opt/wakari/anaconda/.condarc

    如果路径或 URL 中嵌入的频道条目之一中有anaconda.org 令牌字符串(类似于 UUID),请记下它。

    完成后,删除以下文件:

    • ~root/.condarc
    • ~wakari/.condarc
  2. .condarc需要验证Anaconda(或 Miniconda)安装的 conda 配置文件 。该文件位于 Anaconda 或 Miniconda 安装的顶级目录中。它应该存在并且至少具有以下条目(可能还有其他条目):

    频道: 
      -  https : // conda . 蟒蛇组织/ wakari 
      - 默认值
    

    .condarc文件不应包含对特定版本的 Anaconda Enterprise Notebooks 的任何其他引用。如果找到,请从.condarc文件中删除此类条目。

  3. 使用适当的命令暂停每个节点上的服务。对于 Anaconda Enterprise Notebooks 0.10.0 及更高版本:

    sudo  service  wakari -服务器 停止
    sudo  service  wakari -网关 停止
    sudo  service  wakari -计算 停止
    
  4. 0.10.0 之前的 Anaconda Enterprise Notebooks 版本使用 crontab条目在重新启动后重新启动服务。这些已被初始化脚本取代。crontab通过运行和删除 行从所有节点删除条目。crontab -e@reboot

AEN 服务器

注意:如果您使用基于 LDAP 的身份验证,则需要备份配置文件:

/opt/wakari/wakari-server/etc/wakari/wk-server-config.json

然后在服务器更新后,将其复制回原位。当前更新过程将覆盖此文件。这是一个已知问题,计划在即将发布的版本中解决。

以下操作均在Server主机上完成。

  1. 要利用新的搜索功能,请安装 ElasticSearch 和 Java 运行时环境 (JRE 8)。

    停止 ElasticSearch 服务:

    服务 弹性搜索 停止
    

    并删除任何以前的索引(如果存在):

    rm  - rf  / var / lib / elasticsearch /*
    
  2. 通过运行以下命令,确保 Anaconda Enterprise Notebooks 管理帐户 wakari拥有服务器安装中的所有文件root

    chown -R $AEN_SRVC_ACCT:$AEN_SRVC_GRP /opt/wakari/miniconda /opt/wakari/wakari-server
    
  3. 更新服务器

    推/tmp
    wget http://j.mp/aen-server-update-4_0_0
    
    须藤 -u $AEN_SRVC_ACCT /opt/wakari/miniconda/bin/conda install \
                     -p /opt/wakari/wakari-server \
                     --file aen-server-update-4_0_0
    
    须藤 -u $AEN_SRVC_ACCT /opt/wakari/miniconda/bin/conda install \
                     -p /opt/wakari/wakari-server \
                     --no-deps \
                     wakari-enterprise-server-conf-update=2.0.0
    弹出
    
  4. 通过运行以下命令来修复文件所有权和权限 root

    chown -R $AEN_SRVC_ACCT:$AEN_SRVC_GRP /opt/wakari/miniconda /opt/wakari/wakari-server
    chmod -R a+rX /opt/wakari/miniconda
    chmod -R ow /opt/wakari/miniconda
    chmod -R go+rX /opt/wakari/wakari-server
    chmod -R o-rwx /opt/wakari/wakari-server
    chmod o+rX /opt/wakari/wakari-server
    chmod -R o+rX /opt/wakari/wakari-server/share
    
  5. 启动弹性搜索:

    服务 弹性搜索 启动
    

    或者,如果你希望使用的搜索功能,编辑您的服务器config.json

    / opt / wakari / wakari - server / etc / wakari / config . json
    

    添加订单项:。"SEARCH_ENABLED": false

  6. 启动服务器:

    服务 wakari -服务器 启动
    
  7. 检查服务器是否正常运行:

    服务 wakari -服务器 状态
    
  8. 最后,使用您的网络浏览器连接到 AEN 服务器,使用正确的协议(httphttps)、主机名和端口号。

AEN 网关

下面的操作都是在每台 Gateway主机上完成的。

  1. 通过运行以下命令,确保 Anaconda Enterprise Notebooks 管理帐户 wakari拥有网关安装中的所有文件root

    chown -R $AEN_SRVC_ACCT:$AEN_SRVC_GRP /opt/wakari/miniconda /opt/wakari/wakari-gateway
    
  2. 更新网关

    推/tmp
    wget http://j.mp/aen-gateway-update-4_0_0
    
    须藤 -u $AEN_SRVC_ACCT /opt/wakari/miniconda/bin/conda install \
                     -p /opt/wakari/wakari-gateway \
                     --file aen-gateway-update-4_0_0
    
    须藤 -u $AEN_SRVC_ACCT /opt/wakari/miniconda/bin/conda install \
                     -p /opt/wakari/wakari-gateway \
                     --no-deps \
                     wakari-enterprise-gateway-conf-update=2.0.0
    弹出
    
  3. 通过运行以下命令来修复文件所有权和权限 root

    chown -R $AEN_SRVC_ACCT:$AEN_SRVC_GRP /opt/wakari/miniconda /opt/wakari/wakari-gateway
    chmod -R a+rX /opt/wakari/miniconda
    chmod -R ow /opt/wakari/miniconda
    chmod -R go+rX /opt/wakari/wakari-gateway
    chmod -R o-rwx /opt/wakari/wakari-gateway
    
  4. 启动网关

    服务 wakari -网关 启动
    
  5. 最后,使用 Web 浏览器连接到Gateway,使用正确的协议(httphttps)、主机名和端口号。

AEN 计算

以下操作均在运行 AEN Compute 服务的每个主机上完成。

  1. 检查是否有任何wakari-indexer进程正在运行:

    ps 辅助 |  grep 索引器
    

    并终止任何剩余的wakari-indexer进程,如果你找到它们,用:

    killall  wakari -索引器
    
  2. wakari通过运行以下命令,确保 AEN 管理帐户拥有计算安装中的所有文件root

    chown -R $AEN_SRVC_ACCT:$AEN_SRVC_GRP /opt/wakari/anaconda
    chown -R $AEN_SRVC_ACCT:$AEN_SRVC_GRP /opt/wakari/wakari-compute/{bin,conda-meta,config,etc}
    chown -R $AEN_SRVC_ACCT:$AEN_SRVC_GRP /opt/wakari/wakari-compute/{include,lib,lib64,pkgs,share,ssl}
    
  3. 验证内容/opt/wakari/anaconda/.condarc如上所述。此外,它还应包含以下条目(可能还有其他条目):

    频道: 
      -  https : // conda . 蟒蛇org / wakari 
      -  https : // conda . 蟒蛇org / t /< TOKEN >/ anaconda - nb -扩展
      -  r 
      - 默认值
    
    create_default_packages : 
      -  python 
      -  ipython -我们
      -  pip
    

注意:请联系我们的销售代表以获取<TOKEN>上面提到的 Anaconda 渠道。

  1. 安装R依赖项:

    yum  groupinstall  "X Window System"  - y
    

    注意:groupinstall应该足以满足所有 R 需求,但如果您在笔记本中遇到基于 R 的绘图问题,请同时运行:

    yum 安装 libXrender  libXext  libSM  - y
    
  2. 更新计算服务:

    须藤 -u $AEN_SRVC_ACCT /opt/wakari/anaconda/bin/conda install \
                     -p /opt/wakari/anaconda/ \
                     conda=3.19.3 conda-env=2.4.5
    
    推/tmp
    wget http://j.mp/aen-compute-update-4_0_0
    wget http://j.mp/aen-anaconda-update-4_0_0
    
    须藤 -u $AEN_SRVC_ACCT /opt/wakari/anaconda/bin/conda install \
                     -p /opt/wakari/wakari-compute \
                     --file aen-compute-update-4_0_0
    
    须藤 -u $AEN_SRVC_ACCT /opt/wakari/anaconda/bin/conda install \
                     --no-deps \
                     -p /opt/wakari/wakari-compute \
                     wakari-enterprise-compute-conf-update=2.0.0
    
    须藤 -u $AEN_SRVC_ACCT /opt/wakari/anaconda/bin/conda install \
                     -p /opt/wakari/anaconda \
                     --file aen-anaconda-update-4_0_0
    弹出
    
  3. 通过运行以下命令来修复文件所有权和权限 root

    chown -R $AEN_SRVC_ACCT:$AEN_SRVC_GRP /opt/wakari/anaconda
    chown -R $AEN_SRVC_ACCT:$AEN_SRVC_GRP /opt/wakari/wakari-compute/{bin,conda-meta,config,etc}
    chown -R $AEN_SRVC_ACCT:$AEN_SRVC_GRP /opt/wakari/wakari-compute/{include,lib,lib64,pkgs,share,ssl}
    chmod -R a+rX /opt/wakari/anaconda
    chmod -R ow /opt/wakari/anaconda
    
  4. 初始化根环境以准备包缓存

    sudo -u $AEN_SRVC_ACCT /opt/wakari/anaconda/bin/conda create \
                     -p /opt/wakari/testenv \
                     --克隆根
    
    rm -rf /opt/wakari/testenv
    
  5. 将 conda 固定到版本 3.19.3(和兼容的 conda-env)以避免在 anaconda 环境中自动更新

    sudo  echo  - e  "conda ==3.19.3 \n conda-env ==2.4.5"  > \
               / opt / wakari / anaconda / conda - meta / pinned
    
  6. 在最新的 Anaconda Enterprise Notebooks 版本 (4.0.0) 中,我们引入了新功能,例如功能 ID 和在正常操作期间没有 root 访问权限。您必须执行 upgrade\_400.sh脚本以使您的项目与新代码库兼容:

    pushd  / tmp 
    wget  http : // j . mp / upgrade_400 
    chmod  a + x  upgrade_400 sh 
    ./ upgrade_400 SH 
    POPD
    
  7. 启动计算服务:

    服务 wakari -计算 启动
    
  8. 验证Compute服务是否正常运行:

    ps  auxef  |  grep  bin / wk -计算
    服务 wakari -计算 状态
    
  9. 0.10.0 之前的 Anaconda Enterprise Notebooks 版本使用 ipython 2.2.0 版。如果您使用 检测到该版本 ,您应该:conda list

    sudo -u $AEN_SRVC_ACCT /opt/wakari/anaconda/bin/conda 删除 ipython
    sudo -u $AEN_SRVC_ACCT /opt/wakari/anaconda/bin/conda install ipython-we --force
    sudo -u $AEN_SRVC_ACCT /opt/wakari/wakari-compute/bin/conda 删除 ipython
    sudo -u $AEN_SRVC_ACCT /opt/wakari/wakari-compute/bin/conda install ipython-we --force
    

    注意:现有的 AEN项目可能有自己的 Conda 环境。如果是这样,这些环境不会通过此过程自动更新。在这种情况下,用户可以自己使用以下命令进行更新:

    Conda 删除 IPython的
    Conda 安装 IPython中-我们 -
    

    或者,管理员可以使用以下命令更新用户 conda 环境:

    # 为在 AEN 项目 $PROJECTNAME 中工作的用户 $USERNAME 更新 conda 环境
    source activate /projects/$USERNAME/$PROJECTNAME/envs/default
    sudo -u $USERNAME conda 删除 ipython
    sudo -u $USERNAME conda install ipython --force
    源停用
    

    如果您需要R在预先存在的项目中,请使用以下命令安装所需的R包:

    source activate /projects/$USERNAME/$PROJECTNAME/envs/default
    sudo -u $USERNAME conda install r-base r-essentials -cr
    源停用
    

    注意:为了开始使用新的 jupyter 扩展,您需要删除.jupyter_$USERNAME.ipython_$USERNAME 文件夹。

  10. 如果您有自定义的默认环境,则可以根据用户的需要对其进行更新。

注意:更新default环境 /opt/wakari/anaconda/envs/default不会自动更新default用户预先存在的项目中的 环境。对于预先存在的项目,更新(如果它被请求)应该在每个用户的基础上完成。

项目权限

由于版本 0.10.0 Anaconda Enterprise Notebook 使用 POSIX.1e 访问控制列表来管理共享内容,而不是普通的 POSIX 用户组。如果您是从 0.5.0 之前的 AEN 版本升级,请在每个 Compute 节点上执行 project_permissions.py脚本:

/ opt / wakari / wakari - compute / bin / python  project_permissions py  /项目

注意:在某些部署中,项目目录可能与/projects.

然后,在 AEN服务器主机上,运行 repair_team_members.py

/ opt / wakari / wakari - server / bin / python  repair_team_members py

这些脚本将从AEN 数据库中读取所有项目团队信息,并将个人重新添加到所有Compute节点上的所有 项目中。