Confluent Platform System Requirements

This topic provides the hardware and software requirements for Confluent Platform.

Looking for a fully managed cloud-native service for Apache Kafka®?

Sign up for Confluent Cloud and get started for free using the Cloud quick start.

Hardware

On-Premises

The following table lists machine recommendations are for installing individual Confluent Platform components. Confluent Platform supports both ARM64 and X86 hardware architecture. ARM64 is supported in Confluent Platform 7.6.0 and later.

Note that the recommended CPU resource is the same for all platforms. For example, if 12 CPUs is recommended for non-Kubernetes environment, the recommendation for a Kubernetes environment would also be 12 CPU units.

Component

Nodes

Storage

Memory

CPU

Control Center (Legacy)-Normal mode

1

300 GB, preferably SSDs

32 GB RAM (JVM default 6 GB)

12 cores or more

Control Center (Legacy)-Reduced infrastructure mode

1

128 GB, preferably SSDs

8 GB RAM (JVM default 4 GB)

4 cores or more

Broker

3

  • 12 X 1 TB disk. RAID 10 is optional

  • Separate OS disks from Apache Kafka® storage

64 GB RAM

Dual 12-core sockets

KRaft controller

3-5

64 GB SSD

4 GB RAM

4 cores

Connect

2

Storage is only required at installation time.

0.5 - 4 GB heap size depending on connectors

Typically not CPU-bound. More cores is better than faster cores.

Replicator- Same as Connect for nodes, storage, memory, and CPU. (See note that follows about AWS.)

2

Storage is only required at installation time.

0.5 - 4 GB heap size

More cores is better

ksqlDB - See Capacity planning

2

Use SSD. Sizing depends on the number of concurrent queries and the aggregation performed. Minimum 100 GB for a basic server.

20 GB RAM

4 cores

REST Proxy

2

Storage is only required at installation time.

1 GB overhead plus 64 MB per producer and 16 MB per consumer

16 cores to handle HTTP requests in parallel and background threads for consumers and producers.

Schema Registry

2

Storage is only required at installation time.

1 GB heap size

Typically not CPU-bound. More cores is better than faster cores.

ZooKeeper

3-5

  • Transaction log: 512 GB

  • Storage: 2 X 1 TB SATA, RAID 10

Each write to ZooKeeper must be persisted in the transaction log before the client gets an ack.

Using SSD reduces the ZooKeeper write latency.

4 GB RAM

2-4 cores

  • If you want to use RAID disks, the recommendation is:

    • RAID 1 and RAID 10: Preferred

    • RAID 0: 2nd preferred

    • RAID 5: Not recommended

Note

If deploying Confluent Platform on AWS VMs and running Replicator as a connector, be aware that VMs with burstable CPU types (T2, T3, T3a, and T4g) will not support high throughput streaming workloads. Replicator worker nodes running on these VMs experience throughput degradation due to credits expiring, making these VMs unsuitable for Confluent Platform nodes expected to run at elevated CPU levels for a sustained period of time, and supporting workloads that are above and beyond their baseline resource rates.

Cloud

For information on Confluent Cloud support, see Supported Features for Confluent Cloud.

Software

Operating Systems

It is recommended that you run Confluent Platform across uniform OS, Confluent Platform, and JAVA versions.

Confluent Platform supports both X86 and ARM64 hardware architecture. ARM64 is supported in Confluent Platform 7.6.0 and later. For more information on required hardware, see Hardware.

Operating System

7.7.x

7.6.x

7.5.x

7.4.x

7.3.x

7.2.x

7.1.x

7.0.x

Amazon Linux 2023

yes

no

no

no

no

no

no

no

Debian 12 (bookworm)

yes

no

no

no

no

no

no

no

Debian 10 (buster) - Deprecated

yes

yes

yes

yes

yes

yes

yes

yes

Debian 9 (stretch) - Deprecated

yes

yes

yes

yes

yes

yes

yes

yes

RHEL 9.x

yes

yes

yes

yes

no

no

no

no

RHEL/CentOS 8.x

yes

yes

yes

yes

yes

yes

yes

yes

RHEL/CentOS 7.x - Deprecated

no

yes

yes

yes

yes

yes

yes

yes

Rocky Linux 9

yes

yes

no

no

no

no

no

no

Rocky Linux 8

yes

yes

no

no

no

no

no

no

Oracle Linux 8

yes

yes

no

no

no

no

no

no

Oracle Linux 9

yes

yes

no

no

no

no

no

no

Ubuntu 20.04 LTS (focal)

yes

yes

yes

yes

yes

yes

yes

yes

Ubuntu 18.04 LTS (bionic)

yes

yes

yes

yes

yes

yes

yes

yes

Ubuntu 16.04 LTS (xenial) - Deprecated

yes

yes

yes

yes

yes

yes

yes

yes

Deprecated Operating Systems

Support for these OS versions is deprecated because they have reached their end of life. You should not use a deprecated OS in a production deployment. Confluent Platform 7.7 may run on a deprecated OS, but this may change in a future release.

Additional notes about OS support:

SELinux

Confluent Platform is supported on Amazon Linux, Debian, Oracle Linux, RHEL, CentOS, Debian, Rocky Linux and Ubuntu Operating Systems.

Confluent is not accountable for Security-Enhanced Linux (SELinux) policy development, support, or enforcement. If you experience issues running Confluent Platform with SELinux enabled on a supported Linux Operating System, contact your OS provider for assistance.

Windows

Windows is not currently supported for Confluent Platform.

Windows 8.1 and later, as well as Windows 2016 and later, are supported by the C/C++ and .NET clients.

macOS

macOS 10.14 and later is supported for testing and development purposes only.

File descriptors

For the file descriptor requirement for Kafka, see File Descriptors and mmap.

ulimit

Control Center (Legacy) requires many open RocksDB files. Set the ulimit for the number of open files to a minimum value of 16384 using the ulimit -n command.

For the other Confluent Platform components, specifically Schema Registry and Replicator, you can leave the ulimit as the OS default.

RHEL with TLS

When installing Confluent Platform on RHEL8 with TLS encryption, you must add DH Key Size JVM Parameters for each component. For more information, see Strong crypto defaults in RHEL 8 and deprecation of weak crypto algorithms.

Set the following component-level environment variables to the argument:

  • Control Center (Legacy): CONTROL_CENTER_OPTS=-Djdk.tls.ephemeralDHKeySize=2048

  • Schema Registry: SCHEMA_REGISTRY_OPTS=-Djdk.tls.ephemeralDHKeySize=2048

  • Kafka, ZooKeeper, and Connect: KAFKA_OPTS=-Djdk.tls.ephemeralDHKeySize=2048

  • REST Proxy: KAFKAREST_OPTS=-Djdk.tls.ephemeralDHKeySize=2048

  • ksqlDB: KSQL_OPTS=-Djdk.tls.ephemeralDHKeySize=2048

atime

The atime mount option impacts performance, because every read operation on a file system causes a write operation.

Confluent recommends disabling the tracking of atime by setting the noatime option when you mount Kafka data disks.

Java

You need to separately install the correct version of Java before you start the Confluent Platform installation process.

The following table lists Java support in Confluent Platform by version. Note the following:

  • You should use the full JDK to help Confluent Support with troubleshooting and to provide better support if you experience issues with Confluent Platform.

  • OpenJDK, Zulu OpenJDK, Eclipse Temurin (formerly known as AdoptOpenJDK), and Oracle are supported with Confluent Platform.

  • Docker images support version 11 or 17. For more information, see Docker.

Confluent Platform

Recommended

Supported

7.7.x

17

17, 11, 8 *

7.6.x

17

17, 11, 8 *

7.5.x

17

17, 11, 8 *

7.4.x

17

17, 11, 8 *

7.3.x

17

17, 11, 8

7.2.x

11

11, 8

7.1

11 or 8

11, 8

7.0

11 or 8

11, 8

* Java 8 is now deprecated in Confluent Platform, and will be removed in a future version.

From a security perspective, you should use the latest released patch version because older versions may have security vulnerabilities.

Java 9 and 10 are not supported in Confluent Platform as those versions are short-term rapid release versions.

For more information about Java versions, see Java Version History.

Docker

Optional: Docker version 1.11 or later running on a supported operating system. This is required if you are installing Confluent Platform by using the Docker images.

Network

Control Center (Legacy) relies heavily on Kafka, so a fast and reliable network is important for performance. Modern datacenter networking speed of 1 GbE, 10 GbE should be sufficient.

Ports

The table below lists the network services and ports exposed as part of Confluent Platform.

All services listed below use the TCP protocol.

All ports listed below are the default ports, and in most cases you can configure each service to listen on a different port of your choice.

Ports that are indicated to be Internal Only need to be accessible by components within Confluent Platform, not by users or clients of the platform.

When deploying Confluent Platform, ensure that your networking rules allow for the required access to the various components and services.

Component and Service

Default Port

Internal Only?

ZooKeeper

  • Peer-to-peer communication

2888

Yes

  • Peer-to-peer communication

3888

Yes

  • Client access

2181

No

  • Client access via TLS

2182

No

  • Jolokia [*]

7770

No

KRaft Controller

  • peer-to-peer communication

9093

Yes

  • Jolokia [*]

7770

No

Kafka Broker

  • Interbroker listener

9091

Yes

  • External listener

9092

No

  • Metadata Service (MDS)

8090

No

  • Confluent Server REST API

8090

No

  • Jolokia [*]

7771

No

(Standalone) REST Proxy

8082

No

Confluent Control Center

9021

No

Kafka Connect

  • REST API

8083

No

  • Jolokia [*]

7773

No

ksqlDB Server

  • REST API

8088

No

  • Jolokia [*]

7774

No

Schema Registry

  • REST API

8081

No

  • Jolokia [*]

7772

No

[*] Reserve the Jolokia ports only when you deploy Confluent Platform using Ansible.

Synchronize time

Clock synchronization on each Kafka broker is required to ensure the full system functions correctly. For example, secure network communication with the brokers that rely on TLS certificate verification may fail if clocks are not synchronized. Clock synchronization can be achieved using utilities like ntpd that implement the Network Time Protocol (NTP).