Cloudera Director Client and Server
Cloudera Director supports cluster deployment through the client or the server.
The diagram below illustrates the components of Cloudera Director. At the center of the diagram are the two main components: the Cloudera Director client and Cloudera Director server.
Cloudera Director Client
The Cloudera Director client is a standalone process, with no web UI and no server. It provides the simplest way of using Cloudera Director. You interact at the command line through the host on which the client is installed. You start the client process with the bootstrap command, and everything runs in a single process, with all configurations specified in the .conf file. When you are done, issue the terminate command to stop the process. If you want to run Cloudera Director repeatedly with the same settings, your .conf file preserves those settings and can be reused as is or with modifications.
In the diagram above, the lines that extend from the client show that the client stores its state locally. The client uses the .conf file to launch clusters, either directly by using the bootstrap command, or through the server by using the bootstrap-remote command, described below in Using Cloudera Director Server. For more information about the .conf file, see The Cloudera Director Configuration File.
Cloudera does not recommend the standalone client mode for production use, but it can be used for development work, proof-of-concept demonstrations, or trying the product.
Cloudera Director Server
The Cloudera Director server is designed for a more centralized environment, managing multiple Cloudera Manager instances and CDH clusters with multiple users and user accounts. You can log into the web UI and launch clusters, or you can send the server a cluster configuration file from the Cloudera Director client using the bootstrap-remote command. Use the server to launch and manage large numbers of clusters in a production environment.
In the diagram above, the lines that extend from the server show three interfaces to the server: the web UI, the API console, and the SDKs. All three interfaces interact with the server through the API, represented in this diagram as part of the Cloudera Director server component. The line to the right indicates that the server, like the client, can launch Cloudera Manager instances and CDH clusters. The processes that interact with the cloud infrastructure run on the server, and the server owns the state for the clusters it has launched.
Using Cloudera Director Server
You can interact with Cloudera Director server in several ways. The best way for you depends on your purposes and whether you want to use the Cloudera-recommended default configurations, or if instead you require customized configurations for a particular use case or environment.
With the Web User Interface (web UI) Only
The web UI provides a view of the components present in your setup, including the clusters and processes that are running; the health of cluster components; and easy access to error logs. You can also use the web UI for initial setups, and interact with Cloudera Director server through the web UI only, without using the APIs or the .conf file.
This mode can be used in production setups, but Cloudera recommends that it be used for simple setups offered through the guided setup wizard that the web UI provides, and not for customized setups. Although many advanced features are available using only the web UI, it is not ideal for experimenting with configurations because your configuration settings are not preserved, making iteration difficult. For ease of iteration with customized setups, choose a mode that uses the .conf file, where your settings will be preserved, or the API, where your settings can be saved, for example, in a Python script.
With the Command Line Interface (CLI)
With the CLI, if the server is running, you can set up a cluster using the bootstrap-remote command with the .conf file. In this mode, the web UI can be used to get information about the clusters and services that have been set up and the processes running on different clusters.
When used to send the .conf file to a server through bootstrap-remote, the Cloudera Director client provides full access to all advanced features, such as custom configurations of Cloudera Manager services and hosts. If you use this mode and want to iterate with the same settings, you can use the .conf file as a record of the settings. You can set up new clusters later by simply using the web UI mode and entering the settings preserved in this .conf file.
For maximum flexibility and power—for example, if you want to experiment with custom configurations and custom role assignments—using bootstrap-remote with the .conf file is a good choice.
With the API
For programmatic interaction with the server, Cloudera Director includes SDKs for Python and Java, and an API console. You can use the API to access advanced Cloudera Director features, including custom configuration settings. As with the .conf file, using the API supports iteration because your settings can be saved in a Python script or Java file.