Cloudera Director Interfaces

Cloudera Director provides different user interfaces for centralized deployment, configuration, and administration of Cloudera Manager and CDH clusters in the cloud. After you complete the Cloudera Director installation, you can use any interface to deploy Cloudera Manager and CDH clusters in the cloud. To manage the CDH deployment, use the interface that is appropriate for the complexity of the configuration or administrative tasks that you need to perform.

Cloudera Director provides the following user interfaces:
  • Web User Interface (Web UI) - The web UI is a graphical interface to deploy and manage clusters in the cloud. You can use the web UI to monitor the clusters and access the cluster activity logs.
  • Command-Line Interface (CLI) - The command-line interface uses a configuration file to define the settings for a cluster. The configuration file allows you to deploy clusters with custom settings and without operator intervention.
  • API - You can use the Cloudera Director API to programmatically control the lifecycle of your clusters. Cloudera Director provides SDKs for the Python and Java programming languages.
  • Standalone Client - If you install the client without installing the server, you can use the client as a standalone application to deploy and manage clusters. The standalone client provides a command-line interface for deploying simple clusters that you can manage using the local commands. Use the standalone client to deploy CDH clusters for testing or development, not for production.

Web User Interface

After you install the Cloudera Director server, you can use a browser to access the Cloudera Director web UI.

The web UI has a dashboard that shows the available environments and displays information about the Cloudera Manager deployments and the clusters in the deployment. Use the setup wizard in the web UI to easily and quickly deploy clusters in the cloud. You can also use the web UI to define environments, deployments, and clusters, add nodes to clusters, or clone clusters.

When you use the web UI to deploy a cluster, Cloudera Director saves the state of the cluster in the Cloudera Director database. The database can store deployment information about multiple environments, deployments, and clusters that are deployed and managed by Cloudera Director. The deployment information in the database allows Cloudera Director to create additional clusters in the managed deployments.

By default, Cloudera Director saves deployment information in an H2 database, but the H2 database is only supported for proof-of-concept clusters or for testing. Configure Cloudera Director to use an externally managed MySQL or MariaDB database for production clusters. Specify an external database in the application.properties file in the server host. For more information, see Configuring Storage for Cloudera Director.

If you use the web UI to deploy Cloudera Manager and CDH, you can use the web UI or API to manage the Cloudera Manager deployment, terminate clusters, or deploy additional clusters. You can use the command-line interface to deploy more clusters or to terminate clusters. You can also use the web UI to manage clusters if you use the command-line interface or API to deploy them.

You can use the web UI to perform any configuration or administrative task on a Cloudera Manager deployment. However, when you perform a complex or customized deployment or configuration, you might find it easier and more reliable to use the command-line interface with a configuration file or to use the API.

Command-line interface

To use the Cloudera Director command-line interface, you must install the Cloudera Director client in addition to the server. You can install the Cloudera Director client separately from the server. You can install the client in multiple locations, with all clients communicating with the same Cloudera Director server in the cloud.

When you run a command, the client connects to the server to complete the operation. To connect to the server, the client requires the host and user account information for the Cloudera Director server.

When you use the command-line interface to deploy a cluster, the state of the cluster is saved in the Cloudera Director database. The database can store deployment information about multiple environments, deployments, and clusters that are deployed and managed by Cloudera Director. The deployment information in the database allows Cloudera Director to create additional clusters within the managed deployments.

If you use the command-line interface to deploy a cluster, you can use the web UI or the API to manage the cluster.

Application Properties File

When you install the Cloudera Director client, the installation creates a configuration file named application.properties. The properties file includes configuration properties such as the Cloudera Director server host, port number, and user account. You can modify the settings in the application.properties file based on your operational requirements.

By default, the command-line interface reads the settings in the application.properties file on the client host to determine the parameters of a command. When you run a command, you can override properties in the application.properties file by passing the properties directly to the command. For example, you can pass the hostname and port number for the Cloudera Director server. If you do not include these properties in the command, the command reads the properties from the application.properties file.

Cluster Configuration File

A template is a common and useful way to define the configuration and infrastructure of a cloud deployment. Cloudera Director uses a configuration file as a template for cluster deployments in the cloud. You can use the configuration file to define your cluster deployment across different cloud environments.

The Cloudera Director command-line interface uses a configuration file to determine the deployment configuration for a cluster. When you use the command-line interface to deploy a cluster, you must provide the configuration file name. The command reads the file you specify and deploys a cluster configured with the settings defined in the configuration file.

You can create multiple configuration files to deploy clusters with different settings, or you can reuse a configuration file to deploy multiple clusters with the same settings. Cloudera provides sample configuration files that you can use as templates to start a configuration file for your cluster deployment. You can find the sample configuration files on the Cloudera Director scripts GitHub page.

Commands

The command-line interface includes the following commands:

Command Description
bootstrap-remote

Creates an environment, deployment, and cluster on a remote server based on the settings in a configuration file. The configuration file name must have a .conf extension. The bootstrap-remote command reads the configuration file and creates a cluster with the configuration settings defined in the file. As with Director UI installations,

bootstrap-remote speeds up the bootstrap process by configuring Cloudera Manager and the CDH cluster in parallel.

To ensure that the command connects to the Cloudera Director server correctly, you can pass server host and user account properties to the command. The bootstrap-remote command uses the values you pass to connect to the server instead of the values in the application.properties file. For example, you can pass the following properties:
  • lp.remote.hostAndPort=host[:port]

    Hostname and port number of the Cloudera Director server. The default value in the application.properties file is set to localhost:7189.

  • lp.remote.username=<Cloudera Director server username>

    Username to use to log in to the Cloudera Director server.

  • lp.remote.password=<Cloudera Director server password>

    Password for the Cloudera Director server user account.

terminate-remote

Terminates a cluster and deployment on a remote server.

As in the bootstrap-remote command, you can pass the hostname and port number to connect to the Cloudera Director server and the username and password to log in to Cloudera Director.

validate-remote

Validates the configuration file of an environment, deployment, or cluster. For clusters, it validates the correctness of the role and service types, but not the configuration keys, values, or semantics of the role placement.

You can set the lp.validate.verbose property to true to output an HTML representation of the configuration.

API

Cloudera Director has an API that provides access to all Cloudera Director features. The Cloudera Director API is a REST API that uses JSON as the data interchange format.

Use the API to access Cloudera Director from a script or to integrate Cloudera Director features with an application. The API includes SDKs to help you integrate Cloudera Director into Python or Java applications. You can use the API to deploy Cloudera Manager and CDH clusters on any cloud environment supported by Cloudera Director. You can find information about the Cloudera Director Java and Python APIs on the Cloudera Director SDK GitHub page.

The API includes a console to assist the development process. You can use the API console during development to interactively configure settings or perform ad hoc operations on the cluster in the cloud. You can also use it to explore Cloudera Director features and to test and troubleshoot clusters. You can access the API console for your deployment at http://director-server-hostname:7189/api-console.

Stand-alone Client

You can install the Cloudera Director client without installing the server. If you install the Cloudera Director client only, you can run local client commands to deploy and manage simple clusters.

When you install the client, the installation creates a configuration file named application.properties locally. The client uses the settings in the local application.properties file to determine the parameters of the command. When you run a command, you can override properties in the local application.properties file by passing the properties directly to the command.

The stand-alone client also uses a configuration file to determine the deployment configuration for a cluster. You can define the configuration settings for a cluster setup in a configuration file and use the local bootstrap command to deploy clusters based on the settings in the configuration file. You can reuse a configuration file to deploy multiple clusters with the same configuration. Cloudera provides sample configuration files that you can use as templates to start a configuration file for your cluster deployment. You can find the sample configuration files on the Cloudera Director scripts GitHub page.

When you use a local command to deploy a cluster, the state of the environment and cluster is saved in a local H2 database. The database stores information only for a single environment and deployment and allows only a limited set of operations to be performed on the deployed cluster. All local commands operate on the cluster deployment that is described in the local database.

If you use the local bootstrap command to deploy a cluster, you cannot use the web UI or the API to manage the cluster. You must manage the cluster using the local client commands. Cloudera recommends that you use the local client commands to deploy and manage clusters for demonstrations and development, not for production.

You can use the following local commands to deploy and manage a simple cluster:

Command Description
bootstrap

Creates an environment, deployment, and cluster based on the settings defined in a configuration file. The configuration file name must have a .conf extension.

The bootstrap command is comparatively slower than bootstrap-remote command. This is because, while bootstrap-remote configures Cloudera Manager and the CDH cluster in parallel, bootstrap configures a CDH cluster only after it configures Cloudera Manager.

status

Reports the status of an environment, deployment, and cluster.

terminate

Terminates a cluster or deployment. Requires a configuration file.

You can set the lp.remote.terminate.assumeYes property. This property determines if the user must explicitly confirm termination (false) or if confirmation is assumed (true). The default value is false. Setting this property to true will cause termination to proceed even if diagnostic data collection has failed. For more information, see Diagnostic Data Collection

update

Updates an environment, deployment, and cluster. Requires a configuration file.

validate

Validates the configuration file of an environment, deployment, or cluster. For clusters,it validates the correctness of the role and service types, but not the configuration keys, values, or semantics of the role placement

You can set the lp.validate.verbose property to true to output an HTML representation of the configuration.

Cloudera Director Interface Usage

The following table shows the tasks you can perform in the different Director interfaces:

Task Web UI Command-line Interface API Stand-alone Client
Deploy simple clusters
Deploy complex clusters with Kerberos or high availability    
Deploy in production    
View dashboard of cluster deployment      
Manage multiple clusters  
Add nodes to clusters  
Remove nodes from clusters  
Clone clusters  
Update Cloudera Manager password  
Terminate clusters