Customize Control Center With a Properties File

Control Center requires a configuration properties file to operate. You can modify the properties file to customize Control Center configuration. The properties file is passed to Control Center when you start it.

Several Control Center example properties files are provided in the etc/confluent-control-center directory located in your CONFLUENT_HOME directory. These files contain critical configuration options, some of which are set to defaults or commented out. Not all of the available configuration options are present in the properties files. For instance, the majority of the Access Control options are not present by default and must be added manually. Depending on the requirements of your environments, there are additional configuration options documented in the Control Center Configuration Reference that you can add and configure within your properties files. Defaults are typically different between the available properties file templates.

Parameters are provided in the form of key/value pairs. Lines beginning with # are ignored. To uncomment an option, remove the hash (#) that precedes it.

When you add character strings to properties files, enter the string without any double or single-quotes. You do not need to wrap character strings in quotes.

Example Control Center configuration files

The following table lists the sample properties files that are provided with Confluent Control Center in the $CONFLUENT_HOME/etc/confluent-control-center directory.

File name Description Notes
control-center.properties Properties file sample with some basic settings. None
control-center-dev.properties Properties file sample for use in a non-production environment. Includes a single broker under a developer license. Default properties file used with the start command on non-Debian/Ubuntu environments.
control-center-production.properties Properties file sample with settings that are appropriate for a production environment. You must set additional properties for a production setting. For example, you should set the data directory to a value other than /tmp, set hostnames to values other than localhost and configure security features. Default properties file used with the start command on Debian/Ubuntu environments.
control-center-management.properties Properties file to enable a development environment where Control Center is running in Reduced infrastructure mode. This file is similar to the control-center-dev.properties file, but only contains properties relevant to Reduced infrastructure mode. Reduced infrastructure mode is typically used with Confluent Health+.
control-center-minimal.properties Properties file sample optimized for a local environment. This properties file could be used with Control Center running locally for demonstration purposes. Must always be explicitly passed with a start command.

Passing in a Control Center properties file

By default, Control Center is aware of the properties files that reside in the $CONFLUENT_HOME/etc/confluent-control-center directory and reads them automatically when restarting using CLI commands. It is not necessary to explicitly pass in the properties file name when starting Control Center unless:

  • The properties file has a custom name. You might differentiate properties file names for testing purposes.
  • The properties file does not reside in the default directory. Control Center needs the full path to the properties file in this case.
  • The .minimal properties file must always be explicitly passed with a start command.
  • The properties file must always be passed in when using the control-center-start script.

Restarting Control Center

Follow these instructions for stopping and starting Control Center. Examples of passing in a properties file when necessary or not are provided.

Note

Make the change in the appropriate Control Center properties file(s) configured for your environments, which could include control-center.properties, control-center-dev.properties, control-center-production.properties, and control-center-minimal.properties. The properties files are located in /path-to-confluent/etc/confluent-control-center/.

Example 1: Standard production environment

Example restarting Control Center and passing in the default properties file for the configuration to take effect:

./bin/control-center-stop
./bin/control-center-start ../etc/confluent-control-center/control-center.properties

Example 2: Custom properties filename and location

Example starting Control Center with the bin start script and passing in a custom properties filename and location:

./control-center-stop
./control-center-start /Users/myUserName/confluent/configs/c3.properties-rbac

The example assumes you are in the /bin directory.

Example 3: Local development environment

Example starting Control Center in a local (dev) environment with the local CLI. This example assumes you have configured your $CONFLUENT_HOME. There is no need to pass in the properties filename; Control Center passes in control-center-dev.properties automatically (on non-Ubuntu/Debian).

Important

Do not use confluent local for production use.

confluent local services stop
confluent local services start

Example properties file excerpts

This section shows a few fundamental differences between a development and production Control Center properties file.

Example excerpt from the production properties (control-center-production.properties) file:

 1############################# Server Basics #############################
 2
 3# A comma-separated list of Apache Kafka cluster host names (required)
 4# NOTE: should not be localhost
 5#bootstrap.servers=kafka1:9092
 6...
 7
 8############################# Control Center Settings ###################
 9
10...
11# Directory for Control Center to store data
12# NOTE: this should be changed to point to a reliable directory
13confluent.controlcenter.data.dir=/var/lib/confluent/control-center
14...

Example excerpt from the development properties (control-center-dev.properties) file:

 1############################# Server Basics #############################
 2
 3# A comma-separated list of Apache Kafka cluster host names (required)
 4bootstrap.servers=localhost:9092
 5...
 6
 7############################# Control Center Settings ###################
 8
 9...
10# Directory for Control Center to store data
11# NOTE: this should be changed to point to a reliable directory
12confluent.controlcenter.data.dir=/tmp/confluent/control-center
13...

The .dev file is pre-configured with localhost where applicable. The data directory points to a /tmp directory.