Update the Aternity Vertica Database Server

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

Note

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.

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 must be able to run SSH as root or sudo root on all cluster nodes.

    Aternity provides a script to generate the specific sudoers configuration required for a non root user to perform the update.

  • 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).

  • Prepare the Vertica Database Server (or each node in the cluster):
    1. Confirm the Linux swappiness parameter is 1
    2. Discourage (but NOT disable) data swapping in and out of virtual memory
    3. Confirm that defrag is disabled
  • 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 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).

  3. Step 3 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.

    Note

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

  4. Step 4 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>

  5. Step 5 As root or user with sudo privileges, set up Vertica 10.0.1-9 using the following command:

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

  6. Step 6 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-10.0.1-9.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.

  7. Step 7 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

  8. Step 8 Run the following command to copy Disaster Recovery related files and restart_node.py file to <DBA_USERNAME> home directory:
    $ sudo cp <VERTICA_SETUP_PATH>/restart_node.py <VERTICA_SETUP_PATH>/setup_vertica_dr.py <VERTICA_SETUP_PATH>/change_vertica_schema_owner.py <VERTICA_SETUP_PATH>/vertica_replicate.sh ~<DBA_USERNAME>/
  9. Step 9 Run the following command to change the files ownership:
    $ sudo chown <DBA_USERNAME>:<DBA_USER_GROUP> ~<DBA_USERNAME>/restart_node.py ~<DBA_USERNAME>/setup_vertica_dr.py ~<DBA_USERNAME>/change_vertica_schema_owner.py ~<DBA_USERNAME>/vertica_replicate.sh

    After preparing a node, you can add it to a DB as described in the documentation.

  10. Step 10 If you prepared the nodes as described in the beginning of the article, you can now add them to a Database as described in Vertica documentation on vertica.com