Update the Aternity Vertica Database Server

Part of the update of Aternity requires updating the Vertica Database Server. Aternity 11.0.3 requires that your Vertica Database Server runs HPE Vertica 9.1.1-11. You can download this with the rest of the Aternity on-premise package.

Before running the update, you must first prepare the Vertica Database Server (or each node in the cluster) by confirming the Linux swappiness parameter is 1, to discourage (but not disable) data swapping in and out of virtual memory. Also confirm that defrag is disabled. The preparation differs slightly depending on whether you used the Aternity script when you originally set up this server.

Then perform the update on a single node to automatically deploy it to all nodes in the cluster.

Vertica has its own documentation on this upgrade (learn more).

Before you begin

  • The user running the setup must be root or able to sudo root. If you have a cluster of Vertica nodes, the user be able to run SSH as root or sudo root on all cluster nodes.

  • If you have a cluster of Vertica databases, Vertica recommends not to deploy firewalls on the individual servers within the cluster (learn more). All nodes should be behind a firewall, but if you must use a firewall between nodes, ensure the required ports are open on each node. For a complete list of ports within a cluster, see the ports list (learn more).

  • Configure anti-virus software like McAfee VSEL to exclude all .cat files in the Vertica target directory containing its catalogs. Add an exclusion to the anti-virus application for <Vertica_target_dir>/.*\.cat

  • Verify that the VERTICA_DATA_DIR folder exists in an identical directory (identical full path name) on each computer in the cluster.

Procedure

  1. Step 1 Stop all the components of Aternity except the databases: the Aternity Management Server, Data Warehouse Server, Aggregation Server, Aternity Dashboard Server, Dashboard Gateway, Aternity Docker Components Server.

    Aternity Oracle Database Server and Aternity Vertica Database Server should remain online.

  2. Step 2 On each node, verify that the swappiness parameter is set to 1 by entering:
    $ sudo cat /proc/sys/vm/swappiness

    This should return the value 1, to confirm it is enabled but at its lowest setting, to discourage data swapping in and out of virtual memory. If it does not return 1, set it as follows:

    Edit parameters
    1. Edit /opt/aternity/vertica-swappiness.conf

    2. Search for vm.swappiness (or add if it is not found).

    3. Change it to vm.swappiness = 1

    4. Save and exit.

    5. Enter $ sudo sysctl -p --system
  3. Step 3 On each node, confirm defrag is disabled as follows:
    Edit parameters
    1. Edit /opt/aternity/vertica_rc

    2. Search for echo always > /sys/kernel/mm/transparent_hugepage/enabled

    3. Add a line immediately beneath with echo never > /sys/kernel/mm/transparent_hugepage/defrag

    4. Save and exit.

    5. Enter $ sudo systemctl restart vertica_rc
  4. Step 4 Locate the Vertica Database Server setup package, vertica-installer-<version>.tar, which you downloaded as part of the Aternity on-premise server setup package.

    Copy it to a temporary location on one of the Vertica nodes (if you have more than one). Perform all the setup operations only on this computer (node 1).

  5. Step 5 Unpack the .tar file by entering tar -xvf vertica-installer-<version>.tar.
    Field Description
    -x

    Use -x to unzip the contents of the package.

    -v

    Use -v to output all messages (verbose).

    -f

    Use -f to specify the filename.

    The downloaded package contains a number of files including:

    File Description

    vertica_parameters.sh

    This file contains the parameters used by the setup script. You must edit this file so that the script will know how and where to set up the Vertica Database Server.

    install_single_node.sh (for single-server installation only)

    This script sets up a single Vertica Database Server. Do not edit this file.

    setup_ssh.sh (for cluster setup only)

    The SSH script establishes secure communications (SSH) between this computer and the other computers in the cluster using an RSA key, giving it access to those computers as the user which you define in the parameters file. As a result, when you run the Vertica Setup Script, you do not need to enter this user's password multiple times.

    Do not edit the script file.

    If your IT policy requires that you secure an RSA key with a passphrase, do NOT use this SSH script; instead, run the Vertica Setup Script, and manually enter the password as many times as required.

    install_cluster.sh (for cluster setup only)

    This script sets up Vertica Database Server on all of the nodes.

    Do not edit this file.

    Note

    The folder with the extracted files will be later referenced as VERTICA_SETUP_PATH.

  6. Step 6 As the DBA user (dbadmin by default, defined during Vertica installation), stop the Vertica DB using admintools, either via its UI or with the following command:

    admintools -t stop_db -F -d <DB_NAME> -p <DBA_USER_PSWD>

  7. Step 7 As root or user with sudo root, set up Vertica 9.1.1-11 using the following command:

    $ sudo rpm -Uvh <VERTICA_SETUP_PATH>/internal/rpms/vertica-<version>.rpm

  8. Step 8 As root or user with sudo root, update Vertica using the following command:

    $ sudo /opt/vertica/sbin/update_vertica -Y --rpm <VERTICA_SETUP_PATH>/internal/rpms/vertica-9.1.1-11.rpm --dba-user <DBA_USERNAME> --dba-group <DBA_USER_GROUP> --dba-user-password '<DBA_USER_LINUX_PSWD>' -d <VERTICA_DATA_DIRECTORY> --point-to-point

    Important notes:
    • If the DBA user does not have a password, replace ---dba-user-password <DBA_USER_LINUX_PASSWORD> with --dba-user-password-disabled

    • The Linux account DBA user must have read access to the RPM file. Some upgrade scripts run as the DBA user.

    • You can add --failure-threshold <FAIL> or --failure-threshold <HALT> if required. Use this for specific cases where you need to override the setup's errors, AFTER you confirm that all other errors are resolved. For example, using SELinux in enforcing mode generates a specific FAIL level error which you need to ignore. A local firewall deployed on this computer generates a specific WARN error which you may need to ignore.

  9. Step 9 As the DBA user (dbadmin by default), start the Vertica database using admintools, either via its UI or with the following command:

    /opt/vertica/bin/admintools -t start_db -d <DB_NAME> -p '<DBA_USER_PASSWORD>'

    If Vertica issues a warning that it cannot set up one or more packages, run the following command:

    admintools -t install_package -d <DB_NAME> -p '<DBA_USER_PASSWORD>' --package default --force-reinstall