Confluent Platform Licenses¶
This topic describes how to configure the license for manual deployments of Confluent Platform components. For information on how to configure licenses in automated deployments of Confluent Platform with Confluent for Kubernetes, see Configure licenses with Confluent for Kubernetes.
License Types¶
Developer License¶
A developer license allows full use of Confluent Platform features free of charge for an indefinite duration. However, the license is limited to a single broker configuration per cluster. The developer license gives developers the freedom to try the Confluent Platform commercial features available in a non-production setting.
The developer license also accommodates multiple single-broker clusters so that developers can try the Replicator between those instances, or develop failover applications, for example. Those multiple single-broker clusters share the same license.
Warning
Adding a broker starts a trial license that expires in 30 days. You cannot revert from a trial back to a developer license.
Trial (Evaluation) License¶
A trial (evaluation) license allows a free trial of commercial features in a production setting. Expires after 30 days. The trial license is governed by the Confluent evaluation licenses agreement. The software ceases to function when the license expires. For details, see Expired licenses.
Enterprise (Subscription) License¶
An enterprise license provides access to all Confluent commercial features for a production environment. An enterprise license is an annual paid subscription that expires after 365 days. The software ceases to function after the license expires. For details, see Expired licenses.
The following Confluent Platform components are under the Confluent Enterprise License:
- 
The following are a few key features included in Confluent Server: 
- Pre-built Connectors - In Confluent Hub, filter by the Premium and Commercial license types to see the Connectors under the Confluent Enterprise License. 
Community License¶
The following Confluent Platform components are under the Confluent Community License:
- Pre-built Connectors - In Confluent Hub, filter by the Free license type to see the Connectors under the Community License. 
Configure Component Licenses¶
You must configure a license for each individual Confluent Platform commercial component as described in the following sections.
Each licensed component requires a valid license key to start up. After the component starts up, it checks the license topic to use the latest valid license key.
There are two main topics that store license details of Confluent Platform components.
- _confluent-command
- Confluent Control Center (Legacy), Connect, and Replicator use the - _confluent-commandinternal topic on the same Confluent Server cluster to store and look up their license.- For example, if you use Control Center (Legacy) to update the license, all other licensed components that use the same - _confluent-commandlicense topic will be governed by that new license.- Each of these components have an option to specify a license key in their respective properties file to be evaluated on startup. See below for the component properties files. The components store this key on the - _confluent-commandtopic.- When applying an updated license in Confluent Control Center (Legacy), you must also provide an updated license key in the Confluent Server configuration file ( - /etc/kafka/server.properties). The updated license is evaluated against the current license information that is present in the- _confluent-commandtopic. If necessary, that original license is updated to the newly submitted license, and the updated license is applied when the brokers restart.- Note - Starting with Confluent Platform 6.2.1, the - _confluent-commandinternal topic is available as the preferred alternative to the- _confluent-licensetopic for components such as Schema Registry, REST Proxy, and Confluent Server (which were previously using- _confluent-license). Both topics will be supported going forward. Here are some guidelines:- New deployments (Confluent Platform 6.2.1 and later) will default to using _confluent-commandas shown below.
- Existing clusters will continue using the _confluent-licenseunless manually changed.
- Newly created clusters on Confluent Platform 6.2.1 and later will default to creating the _confluent-commandtopic, and only existing clusters that already have a_confluent-licensetopic will continue to use it.
 
- New deployments (Confluent Platform 6.2.1 and later) will default to using 
- _confluent-license
- Confluent Server brokers can use the _confluent-licensetopic to store and look up the license. This was the only option previous to Confluent Platform 6.2.1. Starting with Confluent Platform 6.2.1, the_confluent-commandtopic is preferred, but both will be supported going forward.
For more information about managing licenses in Confluent Control Center (Legacy), see Managing Confluent Platform Licenses.
Confluent Control Center (Legacy)¶
For Control Center (Legacy), the license key can be entered in the Control Center License tab,
or in the confluent.license parameter in the /etc/control-center/control-center.properties
file.
Confluent Replicator¶
Configure the parameter confluent.license in various Replicator .properties files. For more
information, see Confluent Platform license in Confluent Replicator Configuration Properties.
Confluent Server¶
Configure the parameter confluent.license in the /etc/kafka/server.properties file. For more
information, see Migrate to Confluent Server.
Confluent Schema Registry¶
A license is required only when using the Schema Registry Security Plugins. For more information, see Authentication Mechanisms.
Confluent Auto Data Balancer¶
A license is required only when using multiple broker configurations. Configure the parameter
confluent.license in the Kafka server.properties file. For more information, see
Configure license for rebalancer.
Confluent MQTT Proxy¶
Configure the parameter confluent.license in the MQTT Proxy
etc/confluent-kafka-mqtt/kafka-mqtt-production.properties file. For more information, see
Configure license for MQTT.
Confluent JMS Client¶
Configure the parameter confluent.license in the Kafka server.properties file. For more
information, see Configure license for JMS Client.
Confluent REST Proxy¶
A license is required only when using the REST Proxy Security Plugins. For more information, see REST Proxy Authentication.
Confluent for Kubernetes¶
Add the license key for CFK and Confluent Platform components as described in Confluent for Kubernetes License.
Confluent Platform commercial connectors¶
The Confluent Platform commercial connectors can be used on an unlimited basis with the developer license for single-broker clusters. Multi-broker clusters can use these commercial connectors for a 30-day trial without an enterprise license key. After the trial period expires, Confluent Platform software ceases to function.
You must purchase an enterprise license to continue using commercial connectors in a multi-broker cluster.
Refer to the individual connector documentation for the specific license requirements.
Configure license clients to authenticate to Apache Kafka®¶
When enabled with role-based access control (RBAC) or Kafka REST Security plugins, license clients must be explicitly configured to authenticate to Kafka. For example, if a Kafka REST client talks to Kafka over a SASL_SSL enabled listener, the configuration may look like this:
confluent.license.security.protocol=SASL_SSL
confluent.license.ssl.truststore.location=/var/ssl/private/kafka_rest.truststore.jks
confluent.license.ssl.truststore.password=confluent
confluent.license.ssl.keystore.location=/var/ssl/private/kafka_rest.keystore.jks
confluent.license.ssl.keystore.password=confluent
confluent.license.ssl.key.password=confluent
confluent.license.sasl.mechanism=OAUTHBEARER
confluent.license.sasl.login.callback.handler.class=io.confluent.kafka.clients.plugins.auth.token.TokenUserLoginCallbackHandler
confluent.license.sasl.jaas.config=org.apache.kafka.common.security.oauthbearer.OAuthBearerLoginModule required \
username="...." \
password="...." \
metadataServerUrls="....";
To learn more, see Encrypt and Authenticate with TlS/SSL and REST Proxy Security.
Expired licenses¶
Developer licenses never expire. When a trial or enterprise license expires, the proprietary components react as follows after the next restart attempt:
| Component | Restart reaction after license expiration | 
|---|---|
| Control Center (Legacy) | Fails to start. | 
| Replicator | Fails to start and throws an exception. | 
| Connectors | Fails to start and throws an exception. | 
| JMS client | Fails to connect to any brokers and issues a license expiration message. | 
| ADB | Fails to calculate the rebalance plan and issues a license expiration message. | 
| MQTT Proxy | Fails to start. | 
| Security plugins | Fails to start. | 
| Confluent Server | Confluent Server starts, but generates frequent errors until a new license is provided. Note Confluent Server is the default broker found in the enterprise confluent-<version>.tar.gzdownload. To migrate from Confluent Server to Kafka, see Migrating from confluent-server to confluent-kafka. | 
| CFK | Starts up, but only allows you to delete Confluent Platform component clusters. |