Set Up a New Aternity Vertica Database Server

This procedure describes how to set up a single Vertica Database Server. The Aternity Vertica Database Server stores the performance data in the Vertica format, which is most efficient for displaying in Aternity dashboards.

The number of Vertica Database Servers you require depends on the size of your deployment, and the level of high availability that you need.

Important

You can set up more than one Vertica Database Server as a cluster (learn more).

To setup the server, configure the parameters file for the setup script, then run the script to set up the database server automatically.

For security reasons, it always better to set up servers as a non-root user with restricted privileges to run only certain predefined commands. Aternity on-premise 11.0.3 supports setup by a non-root user, and provides the required sudoers file configuration.

Sudoers is the configuration file that provides the list of commands and access permissions. It defines who can do what. Only if the file permits the user access, the system invokes the requested command. The access permissions include enabling only the listed commands and only from the specified servers; requiring a password per user or group; or never requiring a password at all for a particular command line. ALL is a special value in the sudoers file meaning “no restrictions.”

To set up servers as root user, the user must also be predefined in the sudoers file.

Before you begin

  • Download the latest Aternity on-premise's main setup package from the Aternity Support Site by selecting Software (size) (learn more).

  • Be sure to read Install Aternity on-premise 11.0.3. All prerequisites must already be installed. Make sure you already installed those servers that precede the current installation.

  • Configure the computer to meet the following requirements:

    Attribute Requirement

    Hardware

    Hardware specifications depend on the size of your Aternity on-premise deployment. Choose the sizing and hardware specifications for your deployment size.

    Operating system for Aternity Vertica Database Server

    • Linux CentOS 7.4 or 7.5 or 7.6 or 7.7. To verify your version of CentOS, enter cat /etc/centos-release

    • Red Hat Enterprise Linux (RHEL) 7.4 or 7.5 or 7.6 or 7.7.

      To verify the RHEL version, enter cat /etc/redhat-release

    Note

    If you set up a trial deployment using VMWare virtual machines, the operating system in the OVA file comes with CentOS 7.7.

    Verify that the disk partition dedicated to the Vertica data folder (Target directory) uses the EXT4 file system. Enter df -Th to verify.

    If you deploy on virtual machines, you MUST define all resources as dedicated or reserved (Resource Allocation > Reservation). In addition, you can use a Logical Volume Manager (LVM) in Aternity 11 on any hard drive with no restrictions. See Vertica limitations for LVM.

    Virtual memory settings for Aternity Vertica Database Server

    Verify that your system has a swap file of at least 2GB which is active, by entering free -m.

    To create a 2GB swap file and enable it, enter the following commands, one line at a time.

    dd if=/dev/zero of=/swapfile count=2048 bs=1MiB
    chmod 600 /swapfile
    mkswap /swapfile
    swapon /swapfile
    
    To set the swap file as permanent, edit the system partition settings in /etc/fstab in a plain text editor such as vim:
    vim /etc/fstab

    Add the following line at the end of the file:

    /swapfile   swap    swap    defaults    0 0

    Then save and exit the text editor. The system enables the new swap file when you restart the server.

    Target directory

    Create a directory in the EXT4 partition in which the scripts can set up the Vertica software and database. This is the directory you will use in the vertica_parameters.sh file for VERTICA_DATA_DIR parameter.

    Vertica version for Aternity 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.

    Permissions

    Only users who are defined in the sudoers file can run the setup. Start as a non-root user and follow the setup procedure. At some point, you will be prompted to ask your IT representative to define permissions in the sudoers file. It is possible to run the setup as root user on the computer if this user is defined in the sudoers file as well.

    You need the sudoers permissions temporarily for the server setup and only for the user who executes the setup scripts. After successful setup, you can restore the default permissions.

    If you run the setup as a user that requires a password, setup will prompt you for the password. If the user does not require a password, the setup does not interrupt the process with those prompts.

    Resource limits for Vertica DBA user

    The Vertica DBA user must have bash as its shell, and have read, write and execute permissions on its home folder. (For several nodes in a cluster) It must also be able to SSH to other nodes in the cluster.

    The Vertica DBA user must have an open file limit of 65536 or more. The setup script automatically assigns this setting to the DBA user.

    You can enter a DBA username, password and group in the parameters file, or keep the name which is predefined (dbadmin), if the username does not exist, the script creates it with these properties.

    Network

    Ensure this server has a static IP v4 address, and that you open the required ports.

    Time zone

    Synchronize all Aternity components to have the same date, time AND time zone.

  • Remove any MOTD (a "message of the day") or banner from all Vertica Database Servers in a cluster. They may cause the server setup or startup to fail.

  • Create the target directory for the Vertica setup. You must create this directory (identical full path on every node) before running the setup script.

  • Verify that the disk partition dedicated to the Vertica data folder (Target directory) uses the EXT4 file system. Enter df -Th to verify.

  • 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

Procedure

  1. Step 1 Access the computer of the Vertica Database Server.
  2. Step 2 Download the latest Aternity on-premise's main setup package from the Aternity Support Site by selecting Software (size) (learn more).

    Sign in to Aternity Support Site, then go to Product Downloads > Aternity Server > Version and select the required version to download. Note that only logged in users with certain permissions can see the download option.

    The setup package is for all Aternity servers.

    Download Aternity on-premise from the website
    There are also entries in the Additional Packages which are required for database setup and others:
    • Tableau Package

    • Oracle Packages

    • Install Scripts

    • DB Schema Scripts

    Refer to Additional Packages for the necessary Oracle images and other setup packages.
  3. Step 3 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).

  4. Step 4 Unpack the .tar file by entering tar -xvf vertica-installer-<version>.tar.
    Unpack the Vertica setup folder
    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 and folders, including:

    File Description

    install_single_node.sh (for single-server installation only)

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

    sudoer_cfg.sh

    This script creates set of privileges and access permissions, including
    • allowing only certain user(s) to run commands

    • allowing to run only the specified limited list of commands

    • enabling commands only from the predefined servers

    • requiring a password per user or group; requiring re-entry of a password every time or never requiring a password at all for a particular command line

    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.

    The package also contains setup_ssh.sh and install_cluster.sh, which you do not use to set up a single server, and the internal directory that contains files, scripts and packages that the installation scripts use. Do not edit these files.

  5. Step 5 Navigate to the temporary download folder and configure the setup by opening vertica_parameters in a plain text editor.
    Edit the setup parameters in the vertica_parameters file
    Parameter Description
    RUN_AS_USER

    Enter the username which should execute the script.

    This user's permissions should comply with Aternity requirements.

    VERTICA_TZ

    Enter the time zone code for the server. The time zone must be identical to that of all other Aternity components.

    For example, enter VERTICA_TZ=America/New_York or VERTICA_TZ=UTC

    To see the time zone of a computer, enter timedatectl | grep "Time zone"

    VERTICA_DATA_DIR

    Enter the full path to the target directory for the Vertica setup. You must create this directory (identical full path on every node) before running the setup script.

    Verify that the disk partition dedicated to the Vertica data folder (Target directory) uses the EXT4 file system. Enter df -Th to verify.

    VERTICA_NODE_1

    Enter the static IP v4 address of the Vertica Database Server computer. Vertica automatically converts hostnames and FQDNs into IP v4 addresses in its configuration file.

    To ensure successful dashboard publishing, do not use the value localhost or 127.0.0.1.

    VERTICA_OTHER_NODES

    For a single-server installation, leave this parameter unchanged.

    VERTICA_DB_NAME

    Enter the name of the database (case sensitive). It must begin with an alphabetic character, and can contain letters (upper or lower case), numbers and underscores, and must be up to 30 characters.

    The name already in the properties file is aternity, but you can change if needed.

    VERTICA_DB_ADMIN_USER

    Enter the username required to access the Vertica Database Server. The Vertica DBA user must have bash as its shell, and have read, write and execute permissions on its home folder. (For several nodes in a cluster) It must also be able to SSH to other nodes in the cluster.

    The script creates /opt/vertica/* by default, and assigns read, write and execute to that folder for this user (if the value for VERTICA_DB_ADMIN_USER_HOME_FOLDER is empty).

    You can enter a DBA username, password and group in the parameters file, or keep the name which is predefined (dbadmin), if the username does not exist, the script creates it with these properties.

    VERTICA_DB_ADMIN_USER_HOME_FOLDER

    Enter the name of the folder instead of default (/opt/vertica/*).

    The script creates /opt/vertica/* by default, and assigns read, write and execute to that folder for this user (if the value for VERTICA_DB_ADMIN_USER_HOME_FOLDER is empty).

    VERTICA_DB_ADMIN_GROUP

    If the user must have a group according to your enterprise policy, enter the user's group name here. If this group does not yet exist, the script creates it.

    If you leave this blank, the script assigns this user to the verticadba group.

    VERTICA_DB_ADMIN_LINUX_PASSWORD

    Enter the password of this user to give access to the Linux operating system. We define a username in the Linux operating system, with its password, and the same username to access the Vertica database, with its separate password.

    Enter the password surrounded by quotation marks, such as "mypassword5%". If your password contains a dollar sign ($), apostrophe (', or double-quotes ("), you must prefix any of them with a backslash (\). For example, to set the password to H$kko`ZPe, enter "H\$kko\'ZPe". Avoid using double-quotes as part of your password. Learn more.

    There is no default for this field, so if you leave this blank, the script creates the user without a password.

    Important

    We strongly recommend replacing the default password with a new one, and making a note of it elsewhere. You will need it later for different operations, like start/stop server.

    VERTICA_DB_ADMIN_PASSWORD

    Enter the password of this user to give access to the Vertica database as administrator (like DBADMIN). We define a username in the Linux operating system, with its password, and the same username to access the Vertica database, with its separate password.

    Enter the password surrounded by quotation marks, such as "mypassword5%". If your password contains a dollar sign ($), apostrophe (', or double-quotes ("), you must prefix any of them with a backslash (\). For example, to set the password to H$kko`ZPe, enter "H\$kko\'ZPe". Avoid using double-quotes as part of your password. Learn more.

    VERTICA_FAILURE_THRESHOLD

    Enter the level of the error where the script stops the setup and reports the message, hence ignoring any error lower than this level.

    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.

    The default value (when empty) is WARN, hence it ignores any error message less important than a warning, which is a HINT.

    Enter:

    • HINT to stop even on the smallest errors like hints.

    • WARN to ignore hints only.

    • FAIL to ignore warnings and hints

    • HALT to ignore fail, warn and hints.

    VERTICA_SIZE

    Enter the size of your Aternity deployment, based on the sizing you chose, to set requirements for the Vertica Database Server:

    • TRIAL for demos only, not for production.

    • SMALL

    • MEDIUM

    • LARGE

    • XLARGE

    • XXLARGE

  6. Step 6 Enter ./sudoer_cfg.sh>vertica_install_configuration to create a file with the required sudoers configuration.

    ./sudoer_cfg.sh command generates a sudoers file configuration based on the values entered in vertica_parameters.sh. The output appears in the console window when you run this command; alternatively, it can be written to a file if the command is followed by ><file_name>.

  7. Step 7 Supply your IT representative with the output.
  8. Step 8 (IT people only) Grant access permissions in the sudoers file allowing privileged user(s) to set up and administer Vertica Database Server. Learn more.
    Important

    The sudoers file must be updated on every node.

  9. Step 9 In the same folder, enter ./install_single_node.sh to start the script.
    Run the script to set up Vertica

    The script runs the Vertica setup for you, and displays Vertica's setup messages as it proceeds.

    Tip

    If it displays errors about CPU performance or IO write performance, saying Dashboard performance may be affected, you can ignore these messages and continue normally, though there may be slower performance when running the database.

    The script indicates when it has completed the installation successfully

    The script saves the setup log, installer.log, in the setup directory.

  10. Step 10 Verify the setup by confirming that Vertica is running.
    1. a Switch to the Vertica database administrator user, like dbadmin, by entering su - dbadmin.
    2. b Run the Vertica administration tool by entering admintools.
      Vertica's database administrator tools
    3. c Select the first option View database cluster state.

      Confirm the State is UP.

      Verify the database is running
      Tip

      If the database is not up, return to the main menu and select 3 to start the database.