This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Vertica on Microsoft Azure

Vertica supports automatic deployment on Azure through the Microsoft Azure Marketplace, or manual installation and deployment on Azure VMs.

Vertica supports automatic deployment on Azure through the Microsoft Azure Marketplace, or manual installation and deployment on Azure VMs.

You can deploy a Vertica database on the Microsoft Azure Cloud running in either Enterprise Mode or Eon Mode. In Eon Mode, Vertica stores its data communally using Azure block blob storage.

This section explains how to deploy a Vertica database to Microsoft Azure.

For more information about Azure, see the Azure documentation.

1 - Recommended Azure VM types and operating systems

Vertica supports a range of Microsoft Azure virtual machine (VM) types, each optimized for different purposes.

Vertica supports a range of Microsoft Azure virtual machine (VM) types, each optimized for different purposes. Choose the VM type that best matches your performance and price needs as a user.

For the best performance in most common scenarios, use one of the following VMs:

Virtual Machine Types Virtual Machine Size
Memory optimized

DS13_v2

DS14_v2

DS15_v2

D8s_v3

D16s_v3

D32s_v3

High memory and I/O throughput

GS3

GS4

GS5

E8s_v3

E16s_v3

E32s_v3

L8s

L16s

L32s

For best performance, use one of the following operating systems when deploying Vertica on Azure:

  • Red Hat 7.3 or later

  • CentOS 7.3 or later. The Azure Marketplace solution as of this writing (June 2017) is based on CentOS 7.3.1611.

For more information, see Supported platforms.

2 - Eon Mode on Azure prerequisites

Before you can create an Eon Mode database on Azure, you must have a database cluster and an Azure blob storage container to store your database's data.

Before you can create an Eon Mode database on Azure, you must have a database cluster and an Azure blob storage container to store your database's data.

You can create an Eon Mode database on a cluster that is hosted on Azure. In this configuration, your database stores its data communally in Azure Blob storage. See Eon Mode to learn more about this database mode.

Cluster requirements

Before you can create an Eon Mode database on Azure, you must provision a cluster to host it. See Configuring your Vertica cluster for Eon Mode for suggestions on choosing VM configurations and the number of nodes your cluster should start with.

Storage requirements

An Eon Mode database on Azure stores its data communally in Azure blob storage. Vertica only supports block blob storage for communal data storage, not append or page blob storage.

You must create a storage path for Vertica to use exclusively. This path can be a blob container or a folder within a blob container. This path must not contain any files. If you attempt to create an Eon Mode database with a container or folder that contains files, admintools returns an error.

You pass Vertica a URI for the storage path using the azb:// schema. See Azure Blob Storage object store for the format of this URI.

You must also configure the storage container so Vertica is authorized to access it. Depending on authentication method you use, you may need to supply Vertica the with credentials to access the container. Vertica can use one of following methods to authenticate with the blob storage container:

  • Using Azure managed identities. This authentication method is transparent—you do not need to add any authentication configuration information to Vertica. Vertica automatically uses the managed identity bound to the VMs it runs on to authenticate with the blob storage container. See the Azure AD-managed identities for Azure resources documentation page in the Azure documentation for more information.

    If you provide credentials for either of the other two supported authentication methods, Vertica uses them instead of authenticating using a managed identity bound to your VM.

  • Using an account name and access key credentials for a service account that has full access to the blob storage container. In this case, you provide Vertica with the credentials when you create the Eon Mode database. See Creating an Authentication File for details.

  • Using a shared access signature (SAS) that grants Vertica access to the storage container. See Grant limited access to Azure Storage resources using shared access signatures (SAS) in the Azure documentation. See Creating an Authentication File for details.

For details on how Vertica accesses Azure blob storage, see Azure Blob Storage object store.

Azure Blob Storage encryption

Eon Mode databases on Azure support some of the encryption features built into Azure Storage. You can use its encryption at rest feature transparently—you do not need to configure Vertica to take advantage of it. You can use Microsoft-managed or customer-managed keys for storage encryption. Vertica does not support Azure Storage's client-side encryption and encryption using customer-provided keys. See the Azure Data Encryption at rest page in the Azure documentation for more information about the encryption at rest features in Azure Storage.

3 - Deploy Vertica from the Azure Marketplace

Deploy Vertica in the Microsoft Azure Cloud using the Vertica Data Warehouse entry in the Azure Marketplace.

Deploy Vertica in the Microsoft Azure Cloud using the Vertica Data Warehouse entry in the Azure Marketplace. Vertica provides the following deployment options:

  • Eon Mode: Deploy a Management Console (MC) instance, and then provision and create an Eon Mode database from the MC. For cluster and storage requirements, see Eon Mode on Azure prerequisites.

  • Enterprise Mode: Deploy a four-node Enterprise Mode database comprised of one MC instance and three database nodes. This requires an Azure subscription with a minimum of 12 cores for the Vertica Marketplace solution.

    The Enterprise Mode deployment uses the MC primarily as a monitoring tool. For example, you cannot provision and create a database with an Enterprise Mode MC. For information about creating and managing an Enterprise Mode database, see Create a database using administration tools.

Create a deployment

Eon Mode and Enterprise Mode require much of the same information for deployment. Any information that is not required for both deployment types is clearly marked.

1. Select the deployment type

  1. Sign in to your Microsoft Azure account. From the Home screen, select Create a resource under Azure services.

  2. Search for Vertica Data Warehouse and select it from the search results.

  3. On the Vertica Data Warehouse page, select one of the following:

    • To deploy an MC instance that can manage an Eon Mode database, select Vertica Data Warehouse, Eon BYOL.

    • To deploy an Enterprise Mode database, select Vertica Data Warehouse, Enterprise BYOL.

  4. On the next screen, select Create.

After you select your deployment type, the Basics tab on the Create Vertica Data Warehouse page displays.

2. Add project and instance details on the basics tab

Provide the following information in the Project details and Instance details sections:

  1. Subscription: Azure bills this subscription for the cluster resources.

  2. Resource group: The location to save all of the Azure resources. Create a new resource group or choose an existing one from the dropdown list.

  3. Region: The location where the virtual machine running your MC instance is deployed.

  4. VerticaManagement ConsoleUser: Eon Mode only. The administrator username for the MC.

  5. SSH public key for OS Access: Provide the SSH public key associated with the Vertica User, for command line access to the virtual machine.

  6. Password for MC Access: Enter a password to log in to Management Console. Note that Management Console requires that you change your password after the initial login.

  7. Confirm password: Reenter the value you entered in Password for MC Access.

  8. Select Next: Virtual Machine Settings >.

3. Select virtual machine settings

Provide the following information on the Virtual Machine Settings tab:

  1. Management Console VM size: Select Change size to customize the VM settings or select the default. For a list of VM types recommended by use case, see Recommended Azure VM types and operating systems.

  2. Storage account of Eon DB: Eon Mode only. The storage account associated with the database deployment.

  3. Number of Vertica Cluster nodes: Enterprise Mode only. The number of nodes to deploy in the cluster, in addition to the MC instance.
    The Community Edition (CE) license is automatically applied to the cluster. This license is limited to 1 TB of RAW data 3 Vertica nodes. If you select more than 3 nodes with a CE license, the initial database is created on the first 3 nodes. For information about upgrading your license, see Managing licenses.

  4. Vertica Node VM size: Enterprise Mode only. Select the VM type to deploy in your cluster. Use the default or select Change size to customize the VM settings. For a list of VM types recommended by use case, see Recommended Azure VM types and operating systems.

  5. Total RAW storage per node: Enterprise Mode only. Select the amount of storage per node from the dropdown list. Each VM has a set of premium data disks that are configured and presented as a single storage location.

  6. Select Next: Network Settings >.

4. Select network settings

Provide the following information on the Network Settings tab:

  1. Virtual Network: The virtual network that hosts the Vertica cluster. Create a new virtual network or select an existing one from the dropdown list.
    If you select an existing virtual network, Vertica recommends that you already created a subnet to use for the deployment.

  2. First subnet: The subnet for the associated Virtual Network. Create a new subnet or select an existing one from the dropdown list.

  3. Public IP Address Resource Name: Each VM is configured with a publicly accessible IP address. This field allows you to specify the resource name for those IP addresses, and whether they are static or dynamic. The first public IP address resource is created exactly as entered, and associated with the VerticaManagement Console. Azure appends a number from 1 to 16 to the resource name for each additional Vertica cluster node created. This number associates each VM with a resource.

  4. Domain Name Label for Management Console: Because each VM has a public IP address, each node requires a DNS name. Enter a prefix for the name. The first DNS name is created exactly as entered, and associated with the VerticaManagement Console. Azure appends a number from 1 to 16 to the DNS name for each Vertica cluster node created. That number associates each VM with a resource. Azure adds the remaining part of the fully qualified domain name based on the location where you created the cluster.

  5. Select Next: Review + create >.

5. Verify on review + create

As the Review + create page loads, Azure validates your settings. After it passes validation, review your settings. When you are satisfied with your selections, select Create.

Access the MC after deployment

After your resources are successfully deployed, you are brought to the Overview page on Home > resources-name > Deployments. You must retrieve your Management Console IP address and username to log in.

  1. From the Overview page, select Outputs in the left navigation.

  2. Copy the Vertica Management Console URL and Vertica Management Console user name*.

  3. Paste the Vertica Management Console URL in the browser address bar and press Enter.

  4. Depending on your browser, you might receive a warning of a security risk. If you receive the warning, select the Advanced button and follow the browsers instructions to proceed to the Management Console.

  5. On the VerticaManagement Console log in page, paste the Vertica Management Console user name, and enter the Password for MC Access that you entered on Basics > Project details when you were deploying your MC instance.

Delete a resource group

For details about the Azure Resource Manager and deleting a resource group, see the Azure documentation.

4 - Manually deploy Vertica on Microsoft Azure

Manually creating a database cluster for your Vertica deployment lets you customize your VMs to meet your specific needs.

Manually creating a database cluster for your Vertica deployment lets you customize your VMs to meet your specific needs. You often want to manually configure your VMs when deploying a Vertica cluster to host an Eon Mode database.

To start creating your Vertica cluster in Azure using manual steps, you first need to create a VM. During the VM creation process, you create and configure the other resources required for your cluster, which are then available for any additional VMs that you create.

4.1 - Configure and launch a new instance

An Azure VM is similar to a traditional host.

An Azure VM is similar to a traditional host. Just as with an on-premises cluster, you must prepare and configure the hardware settings for your cluster and network before you install Vertica.

The first steps are:

  1. From the Azure marketplace, select an operating system that Vertica supports.

  2. Select a VM type.See Recommended Azure VM types and operating systems.

  3. Choose a deployment model. For best results, choose the resource manager deployment model.

Configure network security group

Vertica has specific network security group requirements, as described in Create a security group.

Create and name your own network security group, following these guidelines.

You must configure SSH as:

  • Protocol: TCP

  • Source port range: Any

  • Destination port range: 22

  • Source: Any

  • Destination: Any

You can make additional modifications, based on your specific requirements.

Add disk containers

Create an Azure storage account, which later contains your cluster storage disk containers.

For optimal throughput, select Premium storage and align the storage to your chosen VM type.

For more information about what a storage account is, and how to create one, refer to About Azure storage accounts.

For an Enterprise Mode database deployment, provision enough space

Configure credentials

Create a password or assign an SSH key pair to use with Vertica.

For information about how to use key pairs in Azure, see How to create and use an SSH public and private key pair for Linux VMs in Azure.

Assign a public IP address

A public IP is an IP address that you can use to connect to your cluster externally. For best results, assign a single static public IP to a node in your cluster. You can then connect to other nodes in your cluster from your primary node using the internal IP addresses that Azure generated when you specified your virtual network settings.

By default, a public IP address is dynamic; it changes every time you shut down the server. You can choose a static IP address, but doing so can add cost to your deployment.

During a VM installation, you cannot set a DNS name. If you use dynamic public IPs, set the DNS name in the public IP resource for each VM after deployment.

For information about public IP addresses, refer to IP address types and allocation methods in Azure.

Create additional VMs

If needed, to create additional VMs, repeat the previous instructions in this document.

4.2 - Connect to a virtual machine

Before you can connect to any of the VMs you created, you must first make your virtual network externally accessible.

Before you can connect to any of the VMs you created, you must first make your virtual network externally accessible. To do so, you must attach the public IP address you created during network configuration to one of your VMs.

Connect to your VM

To connect to your VM, complete the following tasks:

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

  2. Authenticate using the credentials and authentication method you specified during the VM creation process.

Connect to other VMs

Connect to other virtual machines in your virtual network by first using SSH to connect to your publicly connected VM. Then, use SSH again from that VM to connect through the private IP addresses of your other VMs.

If you are using private key authentication, you may need to move your key file to the root directory of your publicly connected VM. Then, use PuTTY or WinSCP to connect to other VMs in your virtual network.

4.3 - Prepare the virtual machines

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

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. These 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 receive a 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 Azure

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

  • pstack

  • mcelog

  • sysstat

  • dialog

4.4 - Configure storage

Use a dedicated Azure storage account for node storage.

Use a dedicated Azure storage account for node storage.

When configuring your storage, make sure to use a supported file system. For details, see File system.

Attach disk containers to virtual machines (VMs)

Using your previously created storage account, attach disk containers to your VMs that are appropriate to your needs.

For best performance, combine multiple storage volumes into RAID-0. For most RAID-0 implementations, attach 6 storage disk containers per VM.

Combine disk containers for storage

If you are using RAID, follow these steps to create a RAID-0 drive on your VMs. The following example shows how you can create a RAID-0 volume named md10 from 6 individual volumes named:

  • sdc

  • sdd

  • sde

  • sdf

  • sdg

  • sdh

  1. Form a RAID-0 volume using the mdadm utility:

    $ mdadm --create /dev/md10 --level 0 --raid-devices=6 \
      /dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/sdg /dev/sdh
    
  2. Format the file system to be one that Vertica supports:

    $ mkfs.ext4 /dev/md10
    
  3. Find the UUID on the newly-formed RAID volume using the blkid command. In the output, look for the device you assigned to the RAID volume:

    $ blkid
     . . .
     /dev/md10 : UUID="e7510a6f-2922-4413-b5fa-9dcd725967fd" TYPE="ext4" PARTUUID="fb9b7449-08c3-4231-9ee5-086f7b0c9001"
     . . .
    
  4. The RAID device can be renamed after a reboot. To ensure the filesystem is mounted in a predictable location on your VM, create a directory to use as the mount point to mount the filesystem. For example, you can choose to create a mount point named /data that you will use to store your database's catalog and data (or depot, if you are running Vertica in Eon Mode).

    $ mkdir /data
    
  5. Using a text editor, add an entry to the /etc/fstab file for the UUID of the filesystem and your mount point so it is mounted when the system boots:

    UUID=RAID_UUID mountpoint      ext4    defaults,nofail,nobarrier    0   2
    

    For example, if you have the UUID shown in the previous example and the mount point /data, add the following line to the /etc/fstab file:

    UUID=e7510a6f-2922-4413-b5fa-9dcd725967fd  /data      ext4    defaults,nofail,nobarrier    0   2
    
  6. Mount the RAID filesystem you added to the fstab file. For example, to mount a mount point named /data use the command:

    $ mount /data
    
  7. Create folders for your Vertica data and catalog under your mount point.

    $ mkdir /data/vertica
    $ mkdir /data/vertica/data
    

    If you are planning to run Vertica in Eon Mode, create a directory for the depot instead of data:

    $ mkdir /data/vertica/depot
    

Create a swap file

In addition to storage volumes to store your data, Vertica requires a swap volume or swap file to operate.

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 Azure:

  1. Install devnull and swapfile:

    $ 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
    

Repeat the volume attachment, combination, and swap file creation procedures for each VM in your cluster.

For more information

4.5 - Form a cluster and install Vertica

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

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

Download Vertica

To download the Vertica server appropriate for your operating system and license type, go to www.vertica.com/download/vertica.

Run the rpm to extract the files.

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

Before you start

Before you run the install_vertica script:

  • Check the Virtual Network page for a list of current VMs and their associated private IP addresses.

  • Identify your storage location. The installer assumes that you have mounted your storage to /vertica/data. To specify another location, use the --data-dir argument.

  • Identify your storage location. To create your database's data directory on mounted RAID drive, when you run the install_vertica script, provide /vertica/data as the value of the --data-dir option .

Combine virtual machines (VMs)

The following example shows how to combine VMs 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 ~/<name-of-private-key>.pem --license <license.file>
    
  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 between all Vertica nodes, as required for clusters on Azure 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
    
  6. Reboot your cluster to complete the cluster formation and Vertica installation.

For complete information on 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, take these steps:

  1. Log into one of the database nodes using the database administrator account (named dbadmin by default).

  2. Create and start a database:

  3. Configure your database. See Configuring the database.