升级 Vertica

升级路径中的每个版本重复执行以下过程:

  1. 执行现有数据库的完整备份。此预防措施让您在升级失败时能够从备份还原。如果升级失败,可以重新安装以前版本的 Vertica,并将数据库还原到该版本。

    如果升级路径包含多个版本,请在第一次升级时创建完整备份。对于后续的每次升级,可以执行增量备份。但 Vertica 建议,如果磁盘空间和时间允许,每次升级前都执行完整备份。

  2. 使用 admintools 停止数据库

  3. 在每个安装了额外软件包(例如 R 语言包)的主机上,卸载该软件包。例如:

    rpm -e vertica-R-lang
    
  4. 确保您以 root 或 sudo 用户身份登录,并使用以下命令之一运行 RPM 软件包安装程序:

    • 如果是 root 用户并且正在安装 RPM:
    # rpm -Uvh pathname
    
    • 如果正在使用 sudo 用户安装 RPM:
    $ sudo rpm -Uvh pathname
    
    • 如果使用的是 Debian:
    $ sudo dpkg -i pathname
    
  5. 在您刚刚安装 RPM 的同一节点上,以 root 或 sudo 用户身份运行 update_vertica。这将在群集中的所有主机上安装 RPM。例如:

    Red Hat 或 CentOS

    # /opt/vertica/sbin/update_vertica --rpm /home/dbadmin/vertica-12.0.x.x86_64.RHEL6.rpm --dba-user mydba
    

    Debian

    # /opt/vertica/sbin/update_vertica --deb /home/dbadmin/vertica-amd64.deb --dba-user mydba
    

    具有以下要求和限制:

    • 在升级时,DBADMIN 用户必须能够读取 RPM 或 DEB 文件。一些升级脚本以 DBADMIN 用户身份运行,并且该用户必须能够读取 RPM 或 DEB 文件。

    • 使用与上次安装或升级数据库时相同的选项。可以在 /opt/vertica/config/admintools.confinstall_opts 行上找到这些选项。有关所有选项的详细信息,请参阅使用安装脚本安装 Vertica

    • 省略 \--hosts/-s host-list 参数。升级脚本将自动识别群集主机。

    • 如果 root 用户不在 /etc/sudoers 中,将显示错误。安装程序会以 S0311 报告此问题。有关详细信息,请参阅 Sudoers Manual

  6. 启动数据库。启动脚本将分析数据库并为新版本执行任何必要的数据和编录更新。

    如果 Vertica 发出警告,指示无法安装一个或多个软件包,请运行 admintools --force-reinstall 选项,强制重新安装这些软件包。有关详细信息,请参阅重新安装软件包

  7. 升级完成后,数据库会自动重新启动。

  8. 再执行一次数据库备份。

升级持续时间

持续时间取决于所有群集节点上编录的平均内存大小。对于每个 20GB 内存,升级大约持续一到两个小时时间。

您可以通过查询系统表 RESOURCE_POOL_STATUS 来计算所有节点上的编录内存使用情况:

=> SELECT node_name, pool_name, memory_size_kb FROM resource_pool_status WHERE pool_name = 'metadata';

升级后任务

升级完成后,请查看升级后中的升级后任务。