Manually deploy an Enterprise Mode database on GCP

Before you create your Vertica cluster in Google Cloud Platform (GCP) using manual steps, you must create a virtual machine (VM) instance from the Compute Engine section of GCP.

Before you create your Vertica cluster in Google Cloud Platform (GCP) using manual steps, you must create a virtual machine (VM) instance from the Compute Engine section of GCP.

Configure and launch a new instance

All VM instances that you create should be launched in the same virtual public cloud (VPC).

To configure and launch a new VM instance, follow these instructions:

  1. From within the Compute Engine section of GCP, from the menu on the left-hand site of the screen, select VM Instances.

    GCP displays all the VM instances that you have created so far.

  2. Click CREATE INSTANCE.

  3. Enter a name for the new instance.

  4. Select the zone where you plan to deploy the instance.

    GCP breaks its cloud data centers down by regions and zones. Regions are a collection of zones that are all in the same geographical location. Zones are collections of compute resources, which vary from zone to zone. Always pick the zone in your designated region that supports the latest Intel CPUs.

    For a complete listing of regions and zones, including supported processors, see Regions and Zones.

  5. Select a machine type.

    GCE offers many different types of VM instances. For best results, only deploy Vertica on VM instances with 8 vCPus or more and at least 30 GB of RAM.

  6. Select the boot disk (image).

    You create VM instances from a public or custom image. If you are starting with Vertica in GCP for the first time, select either the CentOS 7 or RHEL 7 public image. Those images have been tested thoroughly with Vertica.

    For more information about deploying a VM instance, see Creating and Starting an Instance.

After you have configured the VM instance to be used as a Vertica cluster node, GCP allows you to convert that instance into a custom image. Doing so allows you to deploy multiple versions of that VM instance; each VM instance is identical except for the node name and IP address.

For more information about creating a custom image, see Creating, Deleting, and Deprecating Custom Images.

Connect to a virtual machine

Before you can connect to any of the VMs you created, you must first identify the external IP address. The VM instance section of GCP contains a list of all currently deployed VMs and their associated external IP addresses.

Connect to your VM

To connect to your VM, complete the following tasks:

  1. Connect to your VM using SSH with the external IP address you created in the configuration steps.

  2. Authenticate using the credentials and SSH key that you provided to your GCP account upon creation.

Connect to other VMs

To connect to other virtual machines in your virtual network:

  1. Use SSH to connect to your publicly connected VM.

  2. Use SSH again from that VM to connect through the private IP addresses of your other VMs.

Because GCP forces the use of private key authentication, you may need to move your key file to the root directory of your publicly connected VM. Then, use SSH to connect to other VMs in your virtual network.

Prepare the virtual machines

After you create your VMs, you need to prepare them for cluster formation.

Add the Vertica license and private key

Prepare your nodes by adding your private key (if you are using one) to each node and to your Vertica license. The following steps assume that the initial user you configured is the DBADMIN user:

  1. As the DBADMIN user, copy your private key file from where you saved it locally onto your primary node.

    Depending upon the procedure you use to copy the file, the permissions on the file may change. If permissions change, the install_vertica script fails with a message similar to the following:

    Failed Login Validation 10.0.2.158, cannot resolve or connect to host as root.
    

    If you see the previous failure message, enter the following command to correct permissions on your private key file:

    $ chmod 600 /<name-of-key>.pem
    
  2. Copy your Vertica license to your primary VM. Save it in your home directory or other known location.

Install software dependencies for Vertica on GCP

In addition to the Vertica standard Package dependencies, as the root user, you must install the following packages before you install Vertica:

  • pstack

  • mcelog

  • sysstat

  • dialog

Configure storage

For best disk performance in GCP, Vertica recommends customers use SSD persistent storage, configured to at least 2TB (2000 GB) in size. Disk performance is directly tied to the disk size in GCP. 2000 GBs (2TB) is the minimum disk size for SSD persistent disks that allows maximum throughput.

When configuring your storage, make sure to use a supported file system. See for details.

Create a swap file

In addition to storage volumes to store your data, Vertica requires a swap volume or swap file for the setup script to complete.

Create a swap file or swap volume of at least 2 GB. The following steps show how to create a swap file within Vertica on GCP:

  1. Install the devnull and swapfile files:

    $ install -o root -g root -m 0600 /dev/null /swapfile
    
  2. Create the swap file:

    $ dd if=/dev/zero of=/swapfile bs=1024 count=2048k
    
  3. Prepare the swap file using mkswap:

    $ mkswap /swapfile
    
  4. Use swapon to instruct Linux to swap on the swap file:

    $ swapon /swapfile
    
  5. Persist the swapfile in FSTAB:

    $ echo "/swapfile swap swap auto 0 0" >> /etc/fstab
    
  6. Repeat the volume attachment, combination, and swap file creation procedures for each VM in your cluster.

Download Vertica

To download the Vertica server appropriate for your operating system and license type, follow the steps in described in Download and install the Vertica server package.

After you complete the download and extraction, use the install_vertica script to form a cluster and install the Vertica database software, as described in the next section.

Form a cluster and install Vertica

Use the install_vertica script to combine two or more individual VMs to form a cluster and install your Vertica database.

Before you run the install_vertica script, follow these steps:

  1. Check the VM Instances page of the Compute Engine section on GCP to locate a list of current VMs and their associated internal IP addresses.

  2. Identify your storage location on your VMs. The installer assumes that you have mounted your storage to /home/dbadmin. To specify another location, use the --data-dir argument.

The following steps show how to combine virtual machines (VMs) into a cluster using the install_vertica script:

  1. While connected to your primary node, construct the following command to combine your nodes into a cluster.

    $ sudo /opt/vertica/sbin/install_vertica --hosts 10.2.0.164,10.2.0.165,10.2.0.166 --dba-user-password-disabled --point-to-point --data-dir /vertica/data --ssh-identity ~/.pem --license 
    
  2. Substitute the IP addresses for your VMs, and include your root key file name, if applicable.

  3. Include the --point-to-point parameter to configure spread to use direct point-to-point communication among all Vertica nodes, as required for clusters on GCP when installing or updating Vertica.

  4. If you are using Vertica Community Edition, which limits you to three nodes, specify -L CE with no license file.

  5. After you combine your nodes, to reduce security risks, keep your key file in a secure place—separate from your cluster—and delete your on-cluster key with the shred command:

    $ shred examplekey.pem
    

For complete information about the install_vertica script and its parameters, see Install Vertica with the installation script.

After your cluster is up and running

Now that your cluster is configured and running, and Vertica is running, take these steps:

  1. Create a database. See Creating a database for details.
  2. When you installed Vertica, a database administrator user was created with the DBADMIN role (usually named dbadmin). Use this account to create and start a database.
  3. See Configuring the database for important database configuration steps.