升级Anaconda企业版笔记本 (AEN 4.1.2)#

摘要

重要提示:这些说明仅适用于将Anaconda Enterprise Notebooks (AEN) 从4.1.1版本升级到当前版本4.1.2。每个版本必须从前一个版本逐步升级。不要跳过任何版本。

升级到以前版本的说明:

对于从列出版本之前的升级,请联系您的企业支持代表以获取帮助。

注意:命名服务账户功能仅适用于新安装的Anaconda Enterprise Notebooks 4.0.0+版本。对于升级安装的用户,此功能不可用。如需更多信息,请联系您的企业支持代表。

升级Anaconda Enterprise Notebooks平台需要分别升级三个服务类别的所有实例:

  • AEN Server
  • AEN Gateway
  • AEN Compute

Anaconda Enterprise Notebooks 的安装通常包括在独立的计算节点上运行的多个计算实例,以及如果有一个以上的数据中心连接到 AEN,则会有多个网关。更多详细信息可以在概述中找到。

升级过程要求所有AEN服务实例停止、升级,然后重新启动。这些说明描述了如何执行此过程。

注意:任何需要root用户的命令也可以使用sudo来完成。

如果您在此过程中遇到任何困难,请参考 Troubleshooting Guide,它提供了以下指导:

  • processes
  • configuration files
  • log files
  • ports

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

飞行前检查

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

重要提示:在开始升级过程之前,请终止所有AEN应用程序并停止所有项目。

在升级每台主机上的每个服务之前,请执行以下操作:

  1. 使用以下命令在每个节点上暂停服务:

    sudo service wakari-server stop
    sudo service wakari-gateway stop
    sudo service wakari-compute stop
    
  2. 设置AEN功能ID(NFI)和AEN功能组(NFG),这些在安装说明中有描述。

    NFI 是用于运行所有 AEN 服务的 AEN 服务帐户的用户名,也是 AEN 管理员帐户的用户名。

    NFG 是包含 AEN 服务账户的 Linux 组,因此所有拥有者 NFI 的文件和目录也拥有组 NFG。

    升级AEN时,将NFI和NFG设置为当前安装的NFI和NFG。

    默认的NFI是“wakari”,也可以使用“aen_admin”或其他任何名称。

    使用这些命令设置NFI和NFG,如果您使用的是其他名称,请替换“wakari”:

    export AEN_SRVC_ACCT="wakari"
    export AEN_SRVC_GRP="wakari"
    
  3. 安装 wget:

    yum install wget
    

AEN 服务器

注意:如果您正在使用基于LDAP的认证,请备份配置文件:

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

服务器升级后,将该文件复制回升级前相同的位置。

以下操作均在服务器主机上完成:

  1. 停止ElasticSearch服务:

    sudo service elasticsearch stop
    
  2. 移除任何之前的索引:

    sudo rm -rf /var/lib/elasticsearch/*
    

    注意:您可以选择保留旧索引,但如果在升级后发现搜索功能有任何问题,您需要执行以下步骤以开始使用一个干净的索引:

    sudo service wakari-server stop
    sudo service elasticsearch stop
    sudo rm -rf /var/lib/elasticsearch/*
    sudo service elasticsearch start
    sudo service wakari-server start
    
  3. 升级服务器

    pushd /tmp
    wget http://j.mp/aen-server-update-4-1-2
    
    sudo -E -u $AEN_SRVC_ACCT /opt/wakari/miniconda/bin/conda install \
                     -p /opt/wakari/wakari-server          \
                     --file aen-server-update-4-1-2
    
    sudo -E -u $AEN_SRVC_ACCT /opt/wakari/miniconda/bin/conda install \
                     -p /opt/wakari/wakari-server          \
                     --no-deps                             \
                     wakari-enterprise-server-conf-update=2.0.3
    popd
    
  4. 启动 ElasticSearch:

    sudo service elasticsearch start
    

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

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

    添加行项目:"SEARCH_ENABLED": false

  5. 启动服务器

    sudo service wakari-server start
    
  6. 检查服务器是否正常运行:

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

AEN网关

在每个网关主机上重复以下操作。

  1. 升级网关

    pushd /tmp
    wget http://j.mp/aen-gateway-update-4-1-2
    
    sudo -E -u $AEN_SRVC_ACCT /opt/wakari/miniconda/bin/conda install \
                     -p /opt/wakari/wakari-gateway         \
                     --file aen-gateway-update-4-1-2
    
    sudo -E -u $AEN_SRVC_ACCT /opt/wakari/miniconda/bin/conda install \
                     -p /opt/wakari/wakari-gateway         \
                     --no-deps                             \
                     wakari-enterprise-gateway-conf-update=2.0.3
    popd
    
  2. 启动网关

    sudo service wakari-gateway start
    
  3. 检查网关是否正常运行:

    sudo service wakari-gateway status
    
  4. 最后,使用您的网络浏览器连接到网关,使用正确的协议(httphttps)、主机名和端口号。

AEN 计算

在每个运行AEN计算服务的主机上重复以下操作。

使用killall终止的进程是由$AEN_SRVC_ACCT用户运行的,因此可以使用sudo killall以root身份终止,或者使用sudo -u $AEN_SRVC_ACCT killall$AEN_SRVC_ACCT用户身份终止。这些示例命令展示了sudo killall选项。

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

    ps aux | grep wakari-indexer
    

    注意:如果您停止了所有项目,您将不会看到任何wakari-indexer进程在运行。

  2. 终止任何剩余的 wakari-indexer 进程:

    sudo killall wakari-indexer
    
  3. 检查是否有任何AEN应用程序(gateone、workbench、viewer、terminal、notebook)进程正在运行:

    ps aux | grep wk-app-gateone
    ps aux | grep wk-app-workbench
    ps aux | grep wk-app-viewer
    ps aux | grep wk-app-terminal
    ps aux | grep jupyter-notebook
    

    注意:如果您停止了所有项目,您将看不到任何AEN应用程序进程在运行。

  4. 终止你找到的任何剩余的AEN应用程序进程:

    sudo killall wk-app-gateone
    sudo killall wk-app-workbench
    sudo killall wk-app-viewer
    sudo killall wk-app-terminal
    sudo killall jupyter-notebook
    
  5. 验证/opt/wakari/anaconda/.condarc的内容。修改它以包含以下条目(如果您自定义了.condarc文件,可能还包括其他条目)。请确保删除auto_update_conda: false,因为我们将在接下来的步骤中升级conda。

    注意:以AEN_SRVC_ACCT用户身份修改文件(或确保保持相同的所有权)。

    channels:
      - https://conda.anaconda.org/t/<TOKEN>/anaconda-nb-extensions
      - r
      - https://conda.anaconda.org/wakari
      - defaults
    
    create_default_packages:
      - anaconda-client
      - ipykernel
    

    注意:请联系您的企业支持代表以获取上述引用的Anaconda频道的

    注意:将 替换为您企业支持代表提供的实际令牌。

  6. 在根环境中升级conda

    sudo -E -u $AEN_SRVC_ACCT /opt/wakari/anaconda/bin/conda install \
                    -p /opt/wakari/anaconda conda=4.3.14
    

    在成功升级conda后,修改/opt/wakari/anaconda/.condarc文件 并重新添加在上一步中删除的行auto_update_conda: false

  7. 在根环境中升级Anaconda

    pushd /tmp
    wget http://j.mp/aen-anaconda-update-4-1-2
    
    sudo -E -u $AEN_SRVC_ACCT /opt/wakari/anaconda/bin/conda install \
                    -p /opt/wakari/anaconda              \
                    --file aen-anaconda-update-4-1-2
    
    popd
    
  8. 初始化根环境以准备包缓存:

    sudo -E -u $AEN_SRVC_ACCT /opt/wakari/anaconda/bin/conda create \
                    -p /opt/wakari/testenv \
                    --clone root
    

    并使用以下命令测试离线克隆步骤:

    sudo -E -u $AEN_SRVC_ACCT /opt/wakari/anaconda/bin/conda create \
                    -p /opt/wakari/testenvoffline \
                    --clone root --offline
    

    最后使用以下命令移除那些测试环境:

    sudo rm -rf /opt/wakari/testenv
    sudo rm -rf /opt/wakari/testenvoffline
    
  9. 升级每个计算服务:

    pushd /tmp
    wget http://j.mp/aen-compute-update-4-1-2
    
    sudo -E -u $AEN_SRVC_ACCT /opt/wakari/anaconda/bin/conda install \
                     -p /opt/wakari/wakari-compute        \
                     --file aen-compute-update-4-1-2
    
    sudo -E -u $AEN_SRVC_ACCT /opt/wakari/anaconda/bin/conda install \
                     --no-deps                            \
                     -p /opt/wakari/wakari-compute        \
                     wakari-enterprise-compute-conf-update=2.0.4
    popd
    

    注意:从AEN 4.1.0及以上版本开始,wakari-app-gateone已被弃用,不再支持。

    注意:在升级wakari-compute环境时,您可能会看到一些nbextensions的ImportError警告。只要Validating消息显示为OKImportError警告就是无害的(只是这些包在链接后存在的结果)。

  10. 运行 upgrade_412.sh 脚本,使您的 4.1.1 项目与 4.1.2 代码库兼容:

    pushd /tmp
    wget -O upgrade_412.sh http://j.mp/upgrade_412
    chmod a+x upgrade_412.sh
    ./upgrade_412.sh
    popd
    
  11. 安装必要的依赖项:

    注意:如果您已经从之前的安装中安装了这些依赖项,请跳过此步骤。

    sudo yum groupinstall "X Window System" -y
    sudo yum install git -y
    

    注意:如果您不想安装整个X Window系统,您至少需要安装以下软件包以获得R绘图支持:

    sudo yum install -y libXrender libXext libXdmcp libSM libICE libXt \
    dejavu-sans-fonts dejavu-serif-fonts dejavu-fonts-common \
    fontpackages-filesystem
    
  12. 启动Compute服务:

    sudo service wakari-compute start
    
  13. 验证计算服务是否正常运行:

    sudo service wakari-compute status
    
  14. 为您的数据中心中的所有计算节点重复升级过程。

飞行后检查

  1. You can now start the projects and start using AEN apps.
  2. If you have a 自定义默认环境, you may choose to upgrade it depending on the needs of your users.

注意:升级位于/opt/wakari/anaconda/envs/defaultdefault环境不会自动升级用户预先存在的项目中的default环境。对于预先存在的项目,升级(如果需要)应在每个用户的基础上进行。

  1. If you did not stop all your projects before upgrading, then the first time you start an app you will see an error page requesting you to restart the app. Restart the app to complete the upgrade.
  2. If you still see old apps or the old IPython logo in the notebook app, reload the page to reset the browser cache.