Integrating With Cloudera Manager

The Cloudera distribution of Hadoop includes Cloudera Manager, a web-based tool for managing a Hadoop cluster. Cloudera Manager can manage any service for which a service description is available, including Vertica.

You can use Cloudera Manager to start, stop, and monitor individual database nodes or the entire database. You can manage both co-located and separate Vertica clusters—Cloudera can manage services on nodes that are not part of the Hadoop cluster.

You must install and configure your Vertica database before proceeding; you cannot use Cloudera Manager to create the database.

Installing the Service

Because the service has to send the database password over the network, you should enable encryption on your Hadoop cluster before proceeding.

A Cloudera Service Description (CSD) file describes a service that Cloudera can manage. The Vertica CSD is in /opt/vertica/share/CSD on a database node.

To install the Vertica CSD, follow these steps:

  1. On a Vertica node, follow the instructions in VerticaAPIKey to generate an API key. You need this key to finish the installation of the CSD.
  2. On the Hadoop node that hosts Cloudera Manager, copy the CSD file into /opt/cloudera/csd.
  3. Restart Cloudera Manager:

    $ service cloudera-scm-server restart
  4. In a web browser, go to Cloudera Manager and restart the Cloudera Management Service.
  5. If your Vertica cluster is separate from your Hadoop cluster (not co-located on it): Use Cloudera Manager to add the hosts for your database nodes. If your cluster is co-located, skip this step.
  6. Use Cloudera Manager to add the Vertica service.
  7. On the "Role Assignment" page, select the hosts that are database nodes.
  8. On the "Configuration" page, specify values for the following fields:
    • database name
    • agent port (accept the default if you're not sure)
    • API key
    • database user to run as (usually dbadmin) and password

About the Agent

When you manage Vertica through Cloudera Manager, you are actually interacting with the Vertica Agent, not the database directly. The Agent runs on all database nodes and interacts with the database on your behalf. Management Console uses the same agent. Most of the time this extra indirection is transparent to you.

A Cloudera-managed service contains one or more roles. In this case the service is "Vertica" and the single role is "Vertica Node".

Available Operations

Cloudera Manager shows two groups of operations.   Service-level operations apply to the service on all nodes, while role-level operations apply only to a single node.

You can perform the following service-level operations on all nodes:

  • Start: Starts the agent and, if it is not already running, the database.
  • Stop: Stops the database and agent.
  • Restart: Calls Stop and then Start.
  • Add Role Instances: Adds new database nodes to Cloudera Manager. The nodes must already be part of the Vertica cluster, and the hosts must already be known to Cloudera Manager.
  • Enter Maintenance Mode: Suppresses health alerts generated by Cloudera Manager.
  • Exit Maintenance Mode: Resumes normal reporting.
  • Update Memory Pool Size: Applies memory-pool settings from the Static Service Pools configuration page.

You can perform all of these operations except Add Role Instances on individual nodes as role-level operations.

Managing Memory Pools

Cloudera Manager allows you to change resource allocations, such as memory and CPU, for the nodes it manages. If you are using co-located clusters, centrally managing resources can simplify your cluster management. If you are using separate Hadoop and Vertica clusters, you might prefer to manage Vertica separately as described in Managing the Database in the Administrator's Guide.

Use the Cloudera Manager "Static Service Pools" configuration page to configure resource allocations. The "Vertica Memory Pool" value, specified in GB, is the maximum amount of memory to allocate to the database on each node. If the configuration page includes "Cgroup Memory Hard Limit", set it to the same value as "Vertica Memory Pool".

After you have set these values, you can use the "Update Memory Pool Size" operation to apply the value to the managed nodes. This operation is equivalent to ALTER RESOURCE POOL GENERAL MAXMEMORYSIZE. Configuration changes in "Static Service Pools" do not take effect in Vertica until you perform this operation.

Uninstalling the Service

To uninstall the Vertica CSD, follow these steps:

  1. Stop the Vertica service and then remove it from Cloudera Manager.
  2. Remove the CSD file from /opt/cloudera/csd.
  3. From the command line, restart the Cloudera Manager server.
  4. In Cloudera Manager, restart the Cloudera Management Service.