升级 AEN#

警告:这些说明仅适用于将 AEN 从 4.3.2 版本升级到当前版本 4.3.3。每个版本都必须从上一个版本迭代升级。请勿跳过版本。

先前版本的升级说明

对于从上述版本之前的版本升级,请联系您的企业支持代表。

注意:命名服务帐户功能仅适用于 AEN 4.0.0+ 的新安装。它不适用于升级安装。有关更多信息,请联系您的企业支持代表。

AEN 平台更新需要单独升级 3 种节点类型的每个实例

  • AEN 服务器

  • AEN 网关

  • AEN 计算

升级过程需要停止、升级然后重启所有 AEN 服务实例。

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

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

  • 进程

  • 配置文件

  • 日志文件

  • 端口

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

升级前#

警告:在开始升级之前,请对您的安装进行经过测试的备份。升级到更高版本的 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 和 NFG

    export AEN_SRVC_ACCT="wakari"
    export AEN_SRVC_GRP="wakari"
    

    注意:默认 NFI 是 wakari,但也可以使用 aen_admin 或任何其他名称。

    有关 NFI 和 NFG 的更多信息,请参阅安装说明

  3. 安装 wget

    yum install wget
    
  4. 更新 .condarc 文件

    /opt/wakari/miniconda/.condarc 应使用以下内容更新

    channels:
      - r
      - https://conda.anaconda.org/wakari
      - http://repo.continuum.io/pkgs/main/
      - defaults
    
    create_default_packages:
      - anaconda-client
      - ipykernel=4.10.0
    

    并且 /opt/wakari/anaconda/.condarc 应使用以下内容更新

    channels:
      - r
      - https://conda.anaconda.org/wakari
      - http://repo.continuum.io/pkgs/main/
      - defaults
    create_default_packages:
      - anaconda-client
      - ipykernel=4.10.0
    auto_update_conda: false
    

    注意:这两个内容相似但不同,请务必按照指示更新它们。

升级 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.3.3
    
    sudo -E -u $AEN_SRVC_ACCT /opt/wakari/miniconda/bin/conda install \
                    -p /opt/wakari/wakari-server          \
                    --file aen-server-update-4.3.3
    
    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.13
    popd
    
  4. 启动 Elasticsearch

    sudo service elasticsearch start
    

    或者,如果您不想使用搜索功能,请通过添加行 "SEARCH_ENABLED": false 来编辑服务器的 /opt/wakari/wakari-server/etc/wakari/config.json 文件。

  5. 重启 NGINX 服务器

    AEN 服务器版本 >= 4.1.3 使用 Unix 套接字与 NGINX 通信。重启 NGINX 以加载此新配置

    sudo service nginx restart
    

    或者,您可以使用以下命令重启 NGINX

    sudo nginx -s stop
    sudo nginx
    
  6. 启动服务器

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

    sudo service wakari-server status
    
  8. 如果您看到 NGINX 错误,请检查 /opt/wakari/wakari-server/etc/nginx/conf.d/www.enterprise.conf:18 的配置。

  9. 使用您的 Web 浏览器以正确的协议(http 或 https)、主机名和端口号连接到 AEN 服务器。

升级 AEN 网关节点#

在每个网关主机上完成以下步骤

  1. 升级网关

    pushd /tmp
    wget http://j.mp/aen-gateway-update-4.3.3
    
    sudo -E -u $AEN_SRVC_ACCT /opt/wakari/miniconda/bin/conda install \
                    -p /opt/wakari/wakari-gateway         \
                    --file aen-gateway-update-4.3.3
    
    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.13
    popd
    
  2. 启动网关

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

    sudo service wakari-gateway status
    
  4. 使用您的 Web 浏览器以正确的 http/https、主机名和端口号连接到网关。

升级 AEN 计算节点#

在运行 AEN 计算服务的每个主机上完成以下步骤

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

    ps aux | grep wakari-indexer
    

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

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

    sudo killall wakari-indexer
    

    注意:使用 killall 杀死的进程由 $AEN_SRVC_ACCT 用户运行,因此可以使用 sudo killall 以 root 身份杀死,或者使用 sudo -u $AEN_SRVC_ACCT killall 以 $AEN_SRVC_ACCT 用户身份杀死。示例命令显示 sudo killall 选项。

  2. 检查是否有任何 AEN 应用程序进程正在运行 — 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 应用程序进程正在运行。

    通过运行以下一个或多个命令来终止任何剩余的 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
    
  3. 验证 /opt/wakari/anaconda/.condarc 的内容。修改它以包含以下条目,如果您自定义了 .condarc 文件,则可能包含其他条目。

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

    channels:
      - https://conda.anaconda.org/t/<TOKEN>/anaconda-nb-extensions
      - r
      - https://conda.anaconda.org/wakari
      - http://repo.continuum.io/pkgs/main/
      - defaults
    create_default_packages:
      - anaconda-client
      - ipykernel=4.10.0
    auto_update_conda: false
    

    注意:联系您的企业支持代表以获取上面引用的 Anaconda 通道的令牌。将 <TOKEN> 替换为您的企业支持代表提供的实际令牌。

  4. 在 root 环境中升级 Anaconda

    pushd /tmp
    wget http://j.mp/aen-anaconda-update-4_3_3
    
    sudo -E -u $AEN_SRVC_ACCT /opt/wakari/anaconda/bin/conda remove -p /opt/wakari/anaconda geotiff --yes
    
    sudo -E -u $AEN_SRVC_ACCT /opt/wakari/anaconda/bin/conda remove -p /opt/wakari/anaconda iopro --yes
    
    sudo -E -u $AEN_SRVC_ACCT /opt/wakari/anaconda/bin/conda remove -p /opt/wakari/anaconda libthrift --yes
    
    sudo -E -u $AEN_SRVC_ACCT /opt/wakari/anaconda/bin/conda remove -p /opt/wakari/anaconda basemap --yes
    
    sudo -E -u $AEN_SRVC_ACCT /opt/wakari/anaconda/bin/conda install \
                 -p /opt/wakari/anaconda              \
                 --file aen-anaconda-update-4_3_3
    popd
    
  5. 升级每个计算服务

    pushd /tmp
    wget http://j.mp/aen-compute-update-4.3.3
    
    sudo -E -u $AEN_SRVC_ACCT /opt/wakari/anaconda/bin/conda install \
                    -p /opt/wakari/wakari-compute        \
                    --file aen-compute-update-4.3.3
    
    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.17
    popd
    

    注意:升级 wakari-compute 环境时,您可能会看到一些 nbextensions 的 ImportError 警告。只要验证消息为 OK,ImportError 警告是无害的 — 这是这些包上 post-link 存在的后果。

  6. 初始化 root 环境以准备包缓存

    sudo -E -u $AEN_SRVC_ACCT /opt/wakari/anaconda/bin/conda create \
                    -p /opt/wakari/testenv \
                    --clone root
    
  7. 测试离线克隆步骤

    sudo -E -u $AEN_SRVC_ACCT /opt/wakari/anaconda/bin/conda create \
                    -p /opt/wakari/testenvoffline \
                    --clone root --offline
    
  8. 删除测试环境

    sudo rm -rf /opt/wakari/testenv
    sudo rm -rf /opt/wakari/testenvoffline
    
  9. 安装必要的依赖项

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

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

    注意:如果您不想安装整个 X Window System,则必须安装以下软件包以获得 R 绘图支持

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

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

    sudo service wakari-compute status
    
  12. 使用以下命令重启 AEN 服务器

    sudo service wakari-server restart
    
  13. 对数据中心中的所有计算节点重复此升级过程。

升级后#

  1. 重启项目并开始使用 AEN 应用程序。

  2. 如果您有自定义默认环境,您可以选择根据用户的需求升级它。

    使用 $AEN_SRVC_ACCT 用户升级 /opt/wakari/anaconda/envs/default 中的自定义默认环境

    pushd /tmp
    wget http://j.mp/aen-anaconda-update-4.3.3
    
    sudo -E -u $AEN_SRVC_ACCT /opt/wakari/anaconda/bin/conda install \
            -p /opt/wakari/anaconda/envs/default \
            --file aen-anaconda-update-4.3.3
    popd
    

    要为每个用户和每个项目升级 /projects/<USER>/<PROJECT>/envs/default 中的自定义默认环境,请以该用户身份为每个用户运行这些命令

    pushd /tmp
    wget http://j.mp/aen-anaconda-update-4.3.3
    
    sudo -E -u <USER> /opt/wakari/anaconda/bin/conda install \
            -p /projects/<USER>/<PROJECT>/envs/default \
            --file aen-anaconda-update-4.3.3
    popd
    

    注意:将 <USER> 替换为用户名。将 <PROJECT> 替换为项目名称。

    注意:升级 /opt/wakari/anaconda/envs/default 中的默认环境不会自动升级用户预先存在的项目中的默认环境。对于预先存在的项目,如果需要升级,则应在每个用户的基础上完成。

    注意:这些命令更新 aen-anaconda-update-4.3.3 中列出的软件包,并且不更新任何其他软件包。

  3. 如果您在升级之前未停止所有项目,则首次启动应用程序时,您将看到一个错误页面,要求您重启应用程序。

  4. 重启应用程序以完成升级。

  5. 如果重启后仍然看到旧的应用程序或图标,请重新加载页面以重置浏览器缓存。