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, Connect, and Replicator use the
_confluent-command
internal topic on the same Confluent Server cluster to store and look up their license.For example, if you use Control Center to update the license, all other licensed components that use the same
_confluent-command
license 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-command
topic.When applying an updated license in Confluent Control Center, 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-command
topic. 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-command
internal topic is available as the preferred alternative to the_confluent-license
topic 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-command
as shown below. - Existing clusters will continue using the
_confluent-license
unless manually changed. - Newly created clusters on Confluent Platform 6.2.1 and later will default to creating the
_confluent-command
topic, and only existing clusters that already have a_confluent-license
topic 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-license
topic 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-command
topic is preferred, but both will be supported going forward.
For more information about managing licenses in Confluent Control Center, see Managing Confluent Platform Licenses.
Confluent Control Center¶
For Control Center, 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. If a license is required,
configure the confluent.license
parameter in the Connect worker
configuration, or at the individual connector level as described in
License for Self-Managed Connectors.
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 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 | 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.gz download. 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. |